# Applications, conduite et musique — 0.3 ## Favoris et affichage tactile La référence actuelle est un écran **10 pouces tactile en paysage**, interprété comme **1200 pixels de large et 1080 de haut**. Le rendu reste adaptatif. Le bouton hamburger replie la barre latérale sans recharger la page ; le choix est enregistré dans ce navigateur. L’en-tête est placé dans le contenu et les informations de pied de page sont regroupées dans les réglages. Le catalogue se trouve dans Applications (`#apps`). Personnaliser permet de sélectionner jusqu’à quatre favoris, leur ordre, les applications visibles et le mode d’ouverture des services externes. Choisir un favori déjà présent échange les positions. Masquer un favori libère sa place ; cela ne désactive pas une fonction de CARIA et ne met pas la musique en pause. Applications reste accessible. Les préférences sont propres au navigateur et synchronisées entre ses onglets de même origine. Conduite est un favori par défaut pour les essais. Pour son futur écran séparé : `/?display=drive#drive` ouvre directement les instruments et replie la barre. Les trois styles de compteurs sont conservés : analogique, analogique lumineux et numérique. Carburant et refroidissement sont intégrés sous les grands cadrans ; Détails du véhicule contient les autres mesures et leurs explications. Toutes ces mesures restent simulées et sont masquées si l’API devient indisponible. ## Services Web et lecteurs intégrés Les raccourcis externes par défaut sont Jellyfin, Spotify, YouTube, YouTube Music et Waze. Aucun de ces services n’est chargé en arrière-plan par le catalogue. L’ouverture n’intervient qu’après un appui. Aucun logiciel natif n’est installé dans Docker. | Mode | Comportement | | --- | --- | | Nouvel onglet (défaut) | Conserve CARIA et son audio local. Le navigateur ou l’OS décide s’il ouvre aussi une application associée. | | Même onglet | Quitte CARIA ; le bouton Retour permet de revenir. La musique locale et le GPS peuvent être interrompus. | | Lecteur intégré | Reste dans CARIA, avec un cadre officiel/service compatible et un lien externe de secours. Disponible hors Waze. | **Jellyfin** : utilise l’adresse fixe `https://media.cunatbrule.fr/web/` déclarée dans `ui/applications.js`. Le serveur et son reverse proxy doivent autoriser l’origine de CARIA à l’afficher dans un cadre. Le contrôle public des en-têtes de `https://media.cunatbrule.fr/web/` a répondu HTTP 200 sans restriction de cadrage explicite dans ces en-têtes au moment du test ; les pages d’authentification, cookies et lectures restent à vérifier avec le compte réel. Aucune configuration de serveur Jellyfin n’a été changée. L’interface CARIA ne peut ni garantir ni inspecter une connexion dans un cadre d’une autre origine. **Spotify** : le mode intégré attend un lien de morceau, album, playlist, épisode ou émission, et construit le lecteur officiel `open.spotify.com/embed/...`. Il ne reproduit pas la navigation complète de l’application. La connexion, la durée/possibilité de lecture et les restrictions appartiennent au lecteur Spotify. Voir les [Embeds officiels](https://developer.spotify.com/documentation/embeds). **YouTube / YouTube Music** : un lien vidéo (`watch?v=...` ou `youtu.be/...`) ou playlist produit un lecteur vidéo YouTube officiel. La vidéo et ses commandes restent visibles. Ce n’est pas l’application YouTube Music complète, ni une extraction audio ; certains contenus ou playlists peuvent refuser la lecture intégrée. Voir [la documentation du lecteur](https://developers.google.com/youtube/iframe_api_reference). **Waze** : le lien ouvre le site ou l’application selon l’OS. Après sélection d’une destination dans CARIA, le catalogue et le bouton de navigation utilisent un [lien Waze avec latitude/longitude et `navigate=yes`](https://developers.google.com/waze/deeplinks). Ce bouton fonctionne aussi si le calcul OSRM échoue, tant qu’une destination a été choisie. Il est masqué si Waze est masqué. Terminer le trajet retire la destination du lien. Aucune carte Waze n’est intégrée dans CARIA. Les lecteurs intégrés se chargent après un appui et, pour Spotify/YouTube, après fourniture d’un lien compatible (mémorisé localement). Ils sont déchargés lorsque l’on quitte la vue intégrée, pour éviter une lecture invisible et libérer leurs ressources. Cela ne coupe pas le lecteur de musique locale. Un seul cadre est chargé à la fois. CARIA ne modifie pas les interfaces, marques, publicités ou restrictions de ces services. Leur apparence interne ne peut pas être recolorée librement depuis CARIA. ## Lecture locale immersive Depuis Musique locale, « Vue lecture immersive » ouvre `#now-playing`. La bibliothèque reste disponible et le morceau en cours continue : les deux vues pilotent le même lecteur HTML audio. L’arc coloré suit le temps réellement lu. La vue immersive ne comporte plus de barre de recherche ; les commandes proposent lecture/pause, précédent/suivant, aléatoire, répétition du morceau, volume et silence. Un appui sur précédent revient au début ; deux appuis en moins de 600 ms reviennent au morceau précédent. Le halo est animé pendant la lecture et respecte la préférence de réduction des animations. Les contrôles de transport sont désactivés sans morceau. Le titre, la durée et les commandes se synchronisent avec le lecteur de la bibliothèque. La sélection des fichiers reste locale et doit encore être refaite après rechargement de la page. ## Tests et limites Les tests navigateur couvrent la navigation, les favoris et leur permutation, les modes d’ouverture, l’absence de préchargement des services, l’ouverture YouTube Music, le masquage sans interruption audio, la barre repliée persistante, l’affichage Conduite, les détails et la synchronisation de la lecture immersive. Les lecteurs externes sont simulés dans les tests ; leurs URL officielles et le déchargement du cadre sont vérifiés. Le tactile est émulé dans Chrome ; le toucher, le son et les comptes réels restent à tester sur l’appareil.