26 KiB
iMedia TV+ / Xtream Google TV Player
Spécifications, architecture et historique des modifications
Projet : Lecteur IPTV Xtream pour Google TV / Android TV
Package Android : ma.tkgraph.xtreamtv
Plateforme cible : Google TV / Android TV
Langage : Kotlin
Interface : Jetpack Compose / Compose TV
Lecteur vidéo : AndroidX Media3 ExoPlayer
API IPTV : Xtream Codes compatible
Date du document : 10/06/2026
1. Objectif du projet
Le projet consiste à développer une application Google TV permettant de lire des contenus IPTV fournis par un serveur compatible Xtream.
L’application doit permettre :
- la connexion à un serveur Xtream ;
- la mémorisation des identifiants ;
- la lecture des chaînes Live ;
- la gestion des catégories ;
- l’affichage des logos de chaînes ;
- l’affichage de l’EPG ;
- le replay / catch-up TV ;
- la navigation dans un guide TV complet ;
- la lecture des VOD ;
- la lecture des séries ;
- la gestion des favoris ;
- l’épinglage d’une chaîne de démarrage ;
- une navigation fluide avec télécommande Google TV.
L’objectif final est de disposer d’un lecteur TV complet, ergonomique, utilisable au quotidien sur une box Google TV.
2. Environnement de développement
2.1. Système
- OS de développement : Windows 11
- IDE conseillé : Android Studio
- Terminal utilisé : PowerShell
- Appareil cible : box Google TV / Android TV
- Connexion appareil : ADB Wi-Fi
2.2. Chemin du projet
D:\07-Logiciels\11-IPTV Andoid TV 2
2.3. Java / JDK
JDK utilisé via Android Studio :
D:\Program Files\Android\Android Studio\jbr
Version constatée :
OpenJDK 21.0.10
2.4. Android SDK
SDK utilisé :
C:\Users\abmou\AppData\Local\Android\Sdk
Composants installés :
- Android SDK Platform 36.1
- Android SDK Build-Tools
- Android SDK Platform-Tools
- Android SDK Command-line Tools
- Android Emulator
- Android Emulator Hypervisor Driver
2.5. Gradle
Gradle installé manuellement :
D:\Tools\Gradle\gradle-9.1.0
Wrapper Gradle généré dans le projet :
gradlew.bat
Commande utilisée :
gradle wrapper --gradle-version 9.1.0 --distribution-type bin
3. Configuration PowerShell recommandée
Avant compilation :
cd "D:\07-Logiciels\11-IPTV Andoid TV 2"
$env:JAVA_HOME = "D:\Program Files\Android\Android Studio\jbr"
$env:ANDROID_HOME = "$env:LOCALAPPDATA\Android\Sdk"
$env:Path = "$env:JAVA_HOME\bin;$env:ANDROID_HOME\platform-tools;$env:ANDROID_HOME\cmdline-tools\latest\bin;D:\Tools\Gradle\gradle-9.1.0\bin;$env:Path"
Vérifications :
java -version
adb version
gradle -v
4. Compilation APK
4.1. Nettoyage
.\gradlew.bat clean --no-daemon
4.2. Compilation debug
.\gradlew.bat :app:assembleDebug --no-daemon
4.3. APK générée
.\app\build\outputs\apk\debug\app-debug.apk
5. Installation sur Google TV
5.1. Connexion ADB
adb connect 192.168.1.124
adb devices
Résultat attendu :
192.168.1.124:5555 device
5.2. Installation APK
adb install -r ".\app\build\outputs\apk\debug\app-debug.apk"
Résultat attendu :
Success
5.3. Lancement
adb shell am start -n ma.tkgraph.xtreamtv/.MainActivity
ou :
adb shell monkey -p ma.tkgraph.xtreamtv 1
6. Architecture générale
6.1. Structure logique
app/
└── src/
└── main/
├── AndroidManifest.xml
├── java/ma/tkgraph/xtreamtv/
│ ├── MainActivity.kt
│ ├── data/
│ │ ├── model/
│ │ ├── network/
│ │ ├── repository/
│ │ └── storage/
│ ├── ui/
│ │ ├── components/
│ │ ├── screens/
│ │ └── theme/
│ └── util/
└── res/
├── drawable/
├── drawable-nodpi/
├── mipmap/
└── values/
6.2. Rôle des couches
| Couche | Rôle |
|---|---|
MainActivity.kt |
Point d’entrée, navigation principale, état global |
data/model |
Modèles DTO Xtream |
data/network |
Définition Retrofit de l’API Xtream |
data/repository |
Abstraction des appels réseau |
data/storage |
Sauvegarde locale des identifiants, favoris, épinglage |
ui/screens |
Écrans Compose |
ui/components |
Composants réutilisables : logo, cartes, éléments UI |
util |
Génération d’URL, tri, helpers |
res/drawable-nodpi |
Image de démarrage iMedia TV+ |
7. Dépendances principales
7.1. Lecture vidéo
androidx.media3:media3-exoplayerandroidx.media3:media3-exoplayer-hlsandroidx.media3:media3-exoplayer-dashandroidx.media3:media3-uiandroidx.media3:media3-session
7.2. Interface
- Jetpack Compose
- Compose TV
- Material 3
7.3. Réseau
- Retrofit
- Gson Converter
7.4. Images
- Coil Compose
- Coil Network OkHttp
Utilisé pour afficher :
- logos chaînes ;
- affiches VOD ;
- affiches séries ;
- logo dans le lecteur.
8. Manifest Android TV
Le manifest a été corrigé pour rendre l’application lançable depuis Google TV.
Catégories nécessaires :
<category android:name="android.intent.category.LAUNCHER" />
<category android:name="android.intent.category.LEANBACK_LAUNCHER" />
Sans LAUNCHER, l’application était installée, mais le bouton Ouvrir restait désactivé dans Google TV. Magnifique démonstration d’une application installée dans un couloir sans porte.
9. Fichiers de configuration Gradle
9.1. Corrections effectuées
Le projet initial a nécessité plusieurs corrections :
- suppression du plugin
org.jetbrains.kotlin.androiddevenu inutile avec AGP 9 ; - suppression du bloc
kotlin { jvmToolchain(17) }; - ajout du Gradle Wrapper ;
- ajout / correction de
gradle.properties; - augmentation de la mémoire Gradle.
9.2. Exemple gradle.properties
org.gradle.jvmargs=-Xmx4096m -XX:MaxMetaspaceSize=1024m -Dfile.encoding=UTF-8 -XX:+UseG1GC
org.gradle.parallel=false
org.gradle.configuration-cache=false
android.useAndroidX=true
10. Connexion Xtream
10.1. Données utilisateur
L’écran de connexion demande :
- URL serveur ;
- username ;
- password.
Exemple :
http://serveur.example.com:8080
username
password
10.2. Validation du compte
Endpoint utilisé :
/player_api.php?username=USER&password=PASS
Vérifications :
auth == "1"status == "Active"
11. Sauvegarde des identifiants
11.1. Fichier
data/storage/ConfigStorage.kt
11.2. Stockage
Utilisation de SharedPreferences.
Données sauvegardées :
- serveur ;
- username ;
- password ;
- favoris chaînes ;
- favoris VOD ;
- favoris séries ;
- chaîne épinglée ;
- état de sélection ;
- préférences nécessaires au fonctionnement.
11.3. Fonctionnalités
- connexion automatique au démarrage ;
- suppression des données à la déconnexion ;
- conservation des favoris ;
- conservation de la chaîne épinglée.
12. Écran de démarrage iMedia TV+
12.1. Problème initial
Au démarrage, l’application affichait un écran blanc avant le chargement Compose.
12.2. Correction
Ajout de l’image fournie par l’utilisateur :
app/src/main/res/drawable-nodpi/imedia_tv_background.png
Ajout du fond de lancement :
app/src/main/res/drawable/launch_background.xml
Modification du thème :
app/src/main/res/values/themes.xml
12.3. Résultat attendu
Au lancement :
- affichage du visuel iMedia TV+ ;
- disparition de l’écran blanc ;
- message de chargement superposé pendant la connexion automatique.
13. Live TV
13.1. Endpoints utilisés
Catégories Live :
/player_api.php?action=get_live_categories
Chaînes Live :
/player_api.php?action=get_live_streams
13.2. Fonctionnalités
- affichage des catégories ;
- recherche de catégories ;
- recherche de chaînes ;
- filtrage par catégorie ;
- logo chaîne ;
- compteur chaînes ;
- favoris ;
- chaîne épinglée ;
- zapping gauche/droite ;
- retour vers la même chaîne ;
- focus restauré sur la chaîne après retour du lecteur ;
- boutons accessibles avec la télécommande.
13.3. URL de lecture Live
/live/username/password/stream_id.m3u8
Fallback possible selon fournisseur :
/live/username/password/stream_id.ts
14. Tri des catégories
14.1. Objectif
Trier les catégories dans cet ordre :
- catégories françaises ;
- catégories arabes ;
- autres catégories.
14.2. Catégories prioritaires
Les catégories internes restent toujours en haut :
- Toutes les chaînes ;
- Toutes les VOD ;
- Toutes les séries ;
- Favoris.
14.3. Fichier utilitaire
util/CategorySortUtils.kt
14.4. Écrans concernés
- Live TV ;
- Guide TV global ;
- VOD ;
- Séries.
15. Favoris Live
15.1. Fonctionnalités
- ajout / retrait d’une chaîne favorite ;
- catégorie automatique
★ Favoris; - sauvegarde persistante ;
- badge favori ;
- focus compatible télécommande.
15.2. Comportement
Dans une ligne chaîne :
- OK sur le nom : regarder ;
- bouton
★: ajouter / retirer favori ; - bouton
Pin: épingler.
16. Chaîne épinglée
16.1. Objectif
Permettre à l’utilisateur de choisir une chaîne à ouvrir rapidement au démarrage.
16.2. Comportement
- une seule chaîne épinglée à la fois ;
- sauvegarde persistante ;
- bouton d’épinglage dans la ligne chaîne ;
- possibilité de désépingler.
16.3. Remarque
La chaîne épinglée est prévue comme point de démarrage rapide. Selon l’état de l’application, elle peut être utilisée pour ouvrir directement la chaîne ou faciliter son accès.
17. Lecteur vidéo
17.1. Fichier principal
ui/screens/PlayerScreen.kt
17.2. Fonctionnalités
- lecture Live ;
- lecture Replay ;
- lecture VOD ;
- lecture épisodes séries ;
- affichage du nom ;
- affichage du logo ;
- affichage de la résolution ;
- overlay temporaire ;
- gestion retour ;
- zapping gauche/droite.
17.3. Overlay
L’overlay affiche :
- logo ;
- nom de la chaîne / VOD / épisode ;
- résolution détectée ;
- programme en cours si disponible ;
- badge Replay si replay ;
- badge Favori si applicable.
17.4. Disparition automatique
Les informations disparaissent après environ 3 secondes.
17.5. Bouton retour
Comportement demandé :
- premier appui sur retour : réaffiche les informations ;
- deuxième appui sur retour : retour au menu.
17.6. Zapping
Pendant le Live :
- bouton gauche : chaîne précédente ;
- bouton droite : chaîne suivante.
18. Résolution affichée
18.1. Objectif
Afficher la résolution du flux vidéo dans le lecteur.
18.2. Source
La résolution est récupérée depuis le format vidéo exposé par ExoPlayer.
Exemples d’affichage :
1920x1080
1280x720
SD
HD
FHD
Selon les données disponibles, l’app affiche la résolution exacte ou un fallback.
19. Logos chaînes
19.1. Source
Champ Xtream :
stream_icon
19.2. Composant
ui/components/ChannelLogo.kt
19.3. Comportement
- chargement du logo distant ;
- fallback avec initiales si absent ;
- fallback si URL cassée ;
- affichage dans liste Live ;
- affichage dans lecteur.
20. EPG court
20.1. Endpoint
/player_api.php?action=get_short_epg
20.2. Utilisation
Affichage dans la liste Live :
- programme en cours ;
- programme suivant ;
- disponibilité replay.
20.3. Modèles
EpgProgramDto.kt
EpgShortResponse.kt
20.4. Correction effectuée
Une erreur Kotlin a été corrigée dans une Regex :
Ancienne forme invalide :
Regex("(\d{2}:\d{2})")
Correction :
Regex("""(\d{2}:\d{2})""")
21. Replay / Catch-up TV
21.1. Objectif initial
Le replay fonctionnait, mais lançait directement un replay sans donner le choix de l’émission.
21.2. Correction demandée
Pour chaque chaîne, l’utilisateur doit pouvoir :
- ouvrir la liste des programmes disponibles ;
- voir les jours disponibles ;
- choisir l’émission ;
- lancer le replay de cette émission.
21.3. Endpoint guide complet
/player_api.php?action=get_simple_data_table&stream_id=STREAM_ID
21.4. URL Replay
/timeshift/username/password/durée/date/stream_id.ts
21.5. Écran dédié
ui/screens/ReplayGuideScreen.kt
21.6. Fonctionnalités
- liste des émissions disponibles ;
- regroupement par jour ;
- recherche d’émission ;
- bouton Revoir ;
- retour vers la chaîne sélectionnée ;
- lecture replay avec badge spécifique.
22. Guide TV global
22.1. Objectif
Ajouter un écran de guide TV complet avec toutes les chaînes et tous les programmes disponibles.
22.2. Écran ajouté
ui/screens/ProgramGuideScreen.kt
22.3. Fonctionnalités
- liste des catégories ;
- liste des chaînes ;
- recherche catégorie ;
- recherche chaîne ;
- recherche émission ;
- chargement du programme complet de la chaîne sélectionnée ;
- bouton Direct ;
- bouton Revoir si replay disponible.
22.4. Correction du focus
Problème rencontré :
- la zone de recherche perdait le focus après saisie d’une lettre.
Correction :
- le focus automatique sur la chaîne ne se déclenche plus pendant la saisie ;
- le focus revient sur la chaîne uniquement après retour depuis lecteur ou guide.
23. VOD
23.1. Endpoints
Catégories VOD :
/player_api.php?action=get_vod_categories
Films VOD :
/player_api.php?action=get_vod_streams
23.2. Écran
ui/screens/VodScreen.kt
23.3. Fonctionnalités
- catégories VOD ;
- recherche catégorie ;
- recherche film ;
- affiches ;
- favoris ;
- catégorie
★ Favoris; - lecture film.
23.4. URL de lecture VOD
/movie/username/password/stream_id.extension
L’extension vient de :
container_extension
Fallback :
mp4
24. Séries
24.1. Endpoints
Catégories séries :
/player_api.php?action=get_series_categories
Liste séries :
/player_api.php?action=get_series
Détail série :
/player_api.php?action=get_series_info&series_id=SERIES_ID
24.2. Écran
ui/screens/SeriesScreen.kt
24.3. Fonctionnalités
- catégories séries ;
- recherche catégorie ;
- recherche série ;
- affiches ;
- saisons ;
- épisodes ;
- recherche épisode ;
- favoris séries ;
- catégorie
★ Favoris; - lecture épisode.
24.4. URL lecture épisode
/series/username/password/episode_id.extension
Fallback :
mp4
24.5. Correction noms épisodes
Problème :
- les noms des épisodes apparaissaient sous forme de points ou étaient vides.
Correction :
- utilisation de plusieurs champs possibles :
titlenameepisode_name
Fallback lisible :
Épisode 1 • Nom de la série
Épisode 2 • Nom de la série
25. Favoris VOD et Séries
25.1. VOD
Fonctionnalités ajoutées :
- bouton
☆ / ★sur chaque film ; - catégorie automatique
★ Favoris; - badge favori ;
- sauvegarde persistante.
25.2. Séries
Fonctionnalités ajoutées :
- bouton
☆ / ★sur chaque série ; - catégorie automatique
★ Favoris; - badge favori ;
- sauvegarde persistante.
25.3. Stockage
Stockage dans ConfigStorage.kt.
26. Navigation télécommande
26.1. Navigation générale
L’application est pensée pour la télécommande Google TV :
- haut / bas : navigation dans les listes ;
- gauche / droite : passage entre zones ou zapping dans lecteur ;
- OK : sélection ;
- retour : retour contextuel ou confirmation.
26.2. Menu Live
- focus sur catégories ;
- focus sur chaîne ;
- actions accessibles dans la ligne chaîne ;
- retour depuis lecteur vers la même chaîne.
26.3. Lecteur
- gauche : chaîne précédente ;
- droite : chaîne suivante ;
- retour : afficher overlay, puis revenir au menu.
26.4. Menu principal
Quand l’utilisateur clique sur retour dans le menu :
- une confirmation de sortie est affichée.
27. Design UI
27.1. Évolution
L’interface a été progressivement corrigée :
- première version trop massive ;
- réduction des textes ;
- réduction des zones ;
- correction du contraste dans les zones de texte ;
- affichage lisible des noms de chaînes ;
- correction des boutons Favori / Épingler inaccessibles ;
- actions déplacées dans les lignes ;
- focus restauré sur la chaîne.
27.2. Problèmes corrigés
- texte trop gros ;
- boutons trop grands ;
- champs sombres avec texte sombre ;
- noms de chaînes masqués ;
- impossibilité d’atteindre Favori / Épingler ;
- focus dans les champs de recherche après retour ;
- affichage des épisodes incomplet.
28. Écrans principaux
28.1. LoginScreen
ui/screens/LoginScreen.kt
Rôle :
- saisie serveur ;
- saisie username ;
- saisie password ;
- vérification compte ;
- sauvegarde si connexion réussie.
28.2. HomeScreen
ui/screens/HomeScreen.kt
Rôle :
- Live TV ;
- catégories ;
- chaînes ;
- favoris ;
- épinglage ;
- recherche ;
- accès Guide TV ;
- accès VOD ;
- accès Séries.
28.3. PlayerScreen
ui/screens/PlayerScreen.kt
Rôle :
- lecture vidéo ;
- overlay ;
- résolution ;
- retour ;
- zapping.
28.4. ReplayGuideScreen
ui/screens/ReplayGuideScreen.kt
Rôle :
- replay par chaîne ;
- choix de l’émission ;
- recherche émission ;
- lecture catch-up.
28.5. ProgramGuideScreen
ui/screens/ProgramGuideScreen.kt
Rôle :
- guide TV global ;
- chaînes + programmes ;
- direct ;
- replay.
28.6. VodScreen
ui/screens/VodScreen.kt
Rôle :
- catalogue films ;
- catégories ;
- recherche ;
- favoris ;
- lecture.
28.7. SeriesScreen
ui/screens/SeriesScreen.kt
Rôle :
- catalogue séries ;
- catégories ;
- saisons ;
- épisodes ;
- favoris ;
- lecture.
29. Modèles principaux
29.1. XtreamConfig
serverUrl
username
password
29.2. LiveStreamDto
Champs typiques :
name
stream_id
stream_icon
category_id
epg_channel_id
tv_archive
has_archive
container_extension
29.3. LiveCategoryDto
category_id
category_name
parent_id
29.4. EpgProgramDto
Champs possibles selon serveur :
title
description
start
end
start_timestamp
stop_timestamp
29.5. VOD
Champs typiques :
name
stream_id
stream_icon
category_id
container_extension
rating
added
29.6. Séries
Champs typiques :
series_id
name
cover
category_id
genre
plot
cast
rating
29.7. Épisodes
Champs typiques :
id
episode_num
title
name
episode_name
container_extension
info
30. Génération d’URL
30.1. Fichier
util/XtreamUrlBuilder.kt
30.2. Live
/live/username/password/stream_id.m3u8
30.3. VOD
/movie/username/password/stream_id.extension
30.4. Série
/series/username/password/episode_id.extension
30.5. Replay
/timeshift/username/password/durée/date/stream_id.ts
31. Historique des mises à jour
31.1. Version initiale
Ajout :
- projet Android TV ;
- connexion Xtream ;
- lecture Live ;
- Media3 ExoPlayer ;
- Retrofit ;
- écran Login ;
- écran Home ;
- lecteur vidéo.
31.2. Correction environnement
Ajout / correction :
- Gradle Wrapper ;
- configuration Java ;
- configuration Android SDK ;
- suppression plugin Kotlin obsolète ;
- correction mémoire Gradle.
31.3. Correction lancement Google TV
Ajout :
LAUNCHER
LEANBACK_LAUNCHER
Résultat :
- bouton Ouvrir actif ;
- lancement via Google TV ;
- lancement via ADB.
31.4. Mémoire Xtream
Ajout :
ConfigStorage.kt;- sauvegarde identifiants ;
- connexion automatique ;
- déconnexion.
31.5. Catégories Live
Ajout :
get_live_categories;- affichage catégories ;
- filtrage chaînes ;
- catégorie Toutes.
31.6. UI avancée
Ajout :
- design sophistiqué ;
- favoris Live ;
- état de retour ;
- chaîne épinglée ;
- résolution ;
- recherche catégorie ;
- recherche chaîne ;
- zapping gauche/droite.
31.7. UI compacte
Correction :
- textes réduits ;
- champs plus petits ;
- meilleurs contrastes ;
- noms chaînes visibles.
31.8. Focus actions
Correction :
- boutons Favori / Épingler accessibles ;
- actions dans chaque ligne.
31.9. Player back/focus
Ajout :
- overlay 3 secondes ;
- retour en deux étapes ;
- confirmation sortie ;
- focus sur chaîne après retour.
31.10. Logos
Ajout :
- logos chaînes ;
- logos dans lecteur ;
- fallback initiales.
31.11. EPG + Replay
Ajout :
- EPG court ;
- programme en cours ;
- programme suivant ;
- replay de base.
31.12. Correction EPG Regex
Correction :
- chaîne brute Kotlin pour Regex horaire.
31.13. Replay Guide complet
Ajout :
- guide replay par chaîne ;
- liste des émissions ;
- choix émission ;
- replay spécifique.
31.14. Guide TV global
Ajout :
- écran guide TV toutes chaînes ;
- programmes complets ;
- recherche émission ;
- direct / replay.
31.15. VOD + Séries
Ajout :
- catalogue films ;
- catalogue séries ;
- catégories VOD ;
- catégories séries ;
- saisons ;
- épisodes ;
- lecture VOD ;
- lecture séries.
31.16. Favoris VOD + Séries
Ajout :
- favoris films ;
- favoris séries ;
- catégories Favoris ;
- badges.
31.17. Correction noms épisodes
Correction :
- affichage titres épisodes ;
- fallback épisode lisible.
31.18. Tri catégories
Ajout :
- catégories françaises en premier ;
- catégories arabes ensuite ;
- autres catégories après.
31.19. Splash iMedia TV+
Ajout :
- image de démarrage ;
- suppression écran blanc ;
- thème launch background.
32. Points connus / limites
32.1. Dépendance fournisseur
Certaines fonctions dépendent entièrement du serveur Xtream :
- logos ;
- EPG ;
- replay ;
- noms épisodes ;
- durée ;
- extension ;
- catégories propres.
Si le serveur renvoie des données vides ou incohérentes, l’application applique des fallbacks.
32.2. Replay
Le replay ne fonctionne que si le serveur fournit :
tv_archive;has_archive;- données EPG complètes ;
- dates exploitables ;
- durée correcte.
32.3. VOD / Séries
Les affiches, catégories, noms et épisodes dépendent aussi de la qualité des métadonnées Xtream.
32.4. Sécurité
Les identifiants sont stockés en SharedPreferences.
Amélioration recommandée :
- passer à
EncryptedSharedPreferencesou solution équivalente ; - éviter tout log contenant username/password.
33. Roadmap recommandée
33.1. Priorité haute
- sécuriser le stockage des identifiants ;
- optimiser le chargement EPG global ;
- ajouter cache local EPG ;
- ajouter historique de lecture ;
- reprendre la lecture VOD / séries ;
- améliorer la page détail VOD ;
- améliorer la page détail série ;
- ajouter choix audio / sous-titres ;
- ajouter option qualité / fallback TS-HLS.
33.2. Priorité moyenne
- profils utilisateurs ;
- contrôle parental ;
- thème clair/sombre ;
- tri personnalisé des catégories ;
- masquer catégories inutiles ;
- recherche globale Live + VOD + Séries ;
- écran paramètres ;
- export/import configuration.
33.3. Priorité produit
- icône finale ;
- bannière Android TV ;
- politique de confidentialité ;
- conditions d’utilisation ;
- version release signée ;
- préparation publication Play Store TV.
34. Commandes utiles
34.1. Compiler
cd "D:\07-Logiciels\11-IPTV Andoid TV 2"
.\gradlew.bat clean --no-daemon
.\gradlew.bat :app:assembleDebug --no-daemon
34.2. Installer
adb install -r ".\app\build\outputs\apk\debug\app-debug.apk"
34.3. Lancer
adb shell am start -n ma.tkgraph.xtreamtv/.MainActivity
34.4. Voir appareils
adb devices
34.5. Logs
adb logcat | findstr ma.tkgraph
34.6. Désinstaller
adb uninstall ma.tkgraph.xtreamtv
35. Sauvegardes recommandées
Avant chaque grande mise à jour :
Copy-Item "D:\07-Logiciels\11-IPTV Andoid TV 2" "D:\07-Logiciels\11-IPTV Andoid TV 2 - Backup NOM_VERSION" -Recurse
Exemples de sauvegardes utilisées :
OK lancement
OK mémoire Xtream
Backup avant categories
Backup avant UI compacte
Backup avant EPG replay
Backup avant VOD series
Backup avant splash iMedia
36. Résumé fonctionnel actuel
| Fonction | Statut |
|---|---|
| Connexion Xtream | OK |
| Mémoire identifiants | OK |
| Google TV launcher | OK |
| Live TV | OK |
| Catégories Live | OK |
| Recherche catégories | OK |
| Recherche chaînes | OK |
| Logos chaînes | OK |
| Favoris chaînes | OK |
| Chaîne épinglée | OK |
| Zapping gauche/droite | OK |
| Résolution lecteur | OK |
| Overlay lecteur auto-hide | OK |
| Retour en deux étapes | OK |
| Confirmation quitter | OK |
| EPG court | OK |
| Replay de base | OK |
| Guide replay par chaîne | OK |
| Guide TV global | OK |
| VOD | OK |
| Séries | OK |
| Favoris VOD | OK |
| Favoris séries | OK |
| Tri catégories FR / AR / autres | OK |
| Splash iMedia TV+ | OK |
37. Conclusion
Le projet est passé d’un simple lecteur Xtream expérimental à une application Google TV structurée avec :
- Live TV ;
- EPG ;
- Replay ;
- Guide TV ;
- VOD ;
- Séries ;
- favoris ;
- logos ;
- écran de démarrage personnalisé ;
- navigation télécommande ;
- sauvegarde locale.
La prochaine étape sérieuse consiste à stabiliser, sécuriser et optimiser :
- stockage chiffré ;
- cache local ;
- performances EPG ;
- design final ;
- signature release ;
- publication éventuelle.
Fin du document. Le logiciel fonctionne, ce qui reste un événement statistiquement respectable.