- [Configuration](#configuration) - [Personnalisation de l'apparence](#personnalisation-de-lapparence) - [Exemple](#exemple) - [index.gohtml exemple](#indexgohtml-exemple) - [Configuration arcast-player](#configuration-arcast-player) # Configuration Le server Arcast utilise un fichier de configuration permettant de personnaliser son comportement. Par défaut, ce fichier de configuration est créé aux emplacements suivants au lancement de l'application: - **Linux Desktop**: - `${HOME}/.config/arcast-player/config.json` - **Android**: - `/storage/emulated/0/Android/data/com.cadoles.arcast_player` - `/data/user/0/com.cadoles.arcast_player/files/config.json` (si le premier chemin n'est pas accessible en lecture/écriture) Voici un exemple commenté du fichier de configuration: ```json { // Identifiant de l'instance "instanceId": "", // Configuration du serveur HTTP "http": { // Couple
: d'écoute // Par défaut ":" i.e. toutes les adresses avec port aléatoire "address": ":", // Répertoire de personnalisation de la page d'accueil // Voir section "Personnalisation" ci-dessous "customDir": "${CONFIG_DIR}/custom" }, // Configuration du serveur HTTPS "https": { // Couple
: d'écoute // Par défaut ":" i.e. toutes les adresses avec port aléatoire "address": ":", // Certificat x509 (format PEM, encodé en base64) "cert": "", // Clé privée du certificat (format PEM, encodé en base64) "key": "", // Configuration de la génération du certificat autosigné "selfSigned": { // Activer/désactiver la génération du certificat auto-signé "enabled": true, // Empreinte réseau associée au certificat autosigné // Permet de détecter si il y a eu un changement sur les adresses IPs du player "networkFingerprint": "40f4cd914c6163657fe4e37128f90b501b768221c77b5dbfa35ca74a84b8732a" } }, // Configuration des applications embarquées "apps": { // Activer/désactiver les applications embarquées "enabled": true, // Application par défaut "defaultApp": "main" } } ``` ## Personnalisation de l'apparence Il est possible de personnaliser la page d'accueil du player Arcast en créant des fichiers dans le répertoire définit par l'attribut de configuration `http.customDir`. Le contenu de ce répertoire doit répliquer l'arborescence embarquée par défaut (voir https://forge.cadoles.com/arcad/arcast/src/branch/develop/pkg/server/embed). Chaque fichier présent remplacera celui embarqué par défaut. ### Exemple Nous voulons ajouter une image, et du texte à la page d'accueil, étant sur une ubuntu nous allons à l'emplacement : `${HOME}/.config/arcast-player/` Soit : ```Shell ${HOME}/.config/arcast-player/ ├── config.json └── custom ``` Nous avons une image **logo.png**, un fichier css pour l'apparence **exemple.css**, et un template **index.gohtml** dans le dossier `_templates`, contenant le texte à afficher, et sa position dans la fenêtre. Soit : ```Shell ${HOME}/.config/arcast-player/ ├── config.json └── custom ├── exemple.css ├── logo.png └── _templates └── index.gohtml ``` Une fois les fichiers dûments remplis, il suffit de lancer, ou re-lancer arcast-player pour voir le résultat. #### index.gohtml exemple ```go {{ define "message" }}

Bienvenue chez moi !


Pensez à vous essuyer les pieds

  • Pour la bière: Le frigo est à droite
  • Pour le barbecue Porte fenêtre de gauche, puis à droite ce trouve votre bonheur

{{ end }} {{ define "head" }} {{ end }} {{ define "index" }} {{ template "base" . }} {{ end }} ``` Exemple de rendu avec logo cadoles. ![exemple](./resources/arcast-exemple.png) ## Configuration arcast-player Comme constaté lors de l'affichage de l'aide pour `arcast-player run -help` il est possible d'utiliser les flags chrome pour paramétrer plus finement l'affichage. Liens pour une liste des flags disponible à destination de chrome : [liens falgs chrome](https://peter.sh/experiments/chromium-command-line-switches/) rappel : ```Shell [computer@user ~]$ arcast-player run -help NAME: arcast run USAGE: arcast run [command options] [arguments...] OPTIONS: --config value (default: "/home/panda/.config/arcast-player/config.json") [$ARCAST_DESKTOP_CONFIG] --additional-chrome-arg value [ --additional-chrome-arg value ] (default: "incognito") [$ARCAST_DESKTOP_ADDITIONAL_CHROME_ARGS] --instance-id value [$ARCAST_DESKTOP_INSTANCE_ID] --address value (default: ":") [$ARCAST_DESKTOP_ADDRESS] --https-address value (default: ":") [$ARCAST_DESKTOP_HTTPS_ADDRESS] --window-height value (default: 0) [$ARCAST_DESKTOP_WINDOW_HEIGHT] --apps (default: false) [$ARCAST_DESKTOP_APPS] --window-width value (default: 0) [$ARCAST_DESKTOP_WINDOW_WIDTH] --allowed-origins value [ --allowed-origins value ] [$ARCAST_DESKTOP_ALLOWED_ORIGINS] --custom-files-dir value [$ARCAST_DESKTOP_CUSTOM_FILES_DIR] --dummy-browser (default: false) [$ARCAST_DESKTOP_DUMMY_BROWSER] --help, -h show help ``` Exemple pour lancer chrome en ligne de commande avec le mode kiosk. Deux possibilités : ```Shell arcast-player run --additional-chrome-arg incognito --additional-chrome-arg kiosk ``` Il est aussi possible d'utiliser une variable d'environnement comme indiqué dans l'aide. ```Shell ARCAST_DESKTOP_ADDITIONAL_CHROME_ARGS="incognito,kiosk" arcast-player run ```