172 lines
6.4 KiB
Markdown
172 lines
6.4 KiB
Markdown
- [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": "<instance_id>",
|
|
// Configuration du serveur HTTP
|
|
"http": {
|
|
// Couple <address>:<port> 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 <address>:<port> d'écoute
|
|
// Par défaut ":" i.e. toutes les adresses avec port aléatoire
|
|
"address": ":",
|
|
// Certificat x509 (format PEM, encodé en base64)
|
|
"cert": "<base64_encoded_pem_cert>",
|
|
// Clé privée du certificat (format PEM, encodé en base64)
|
|
"key": "<base64_encoded_pem_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" }}
|
|
<h1 style="margin-top: 20px" class="text-centered">Bienvenue chez moi !</h1>
|
|
<hr style="margin: 20px 0 20px 0" />
|
|
<div style="margin: 20px 0 20px 0">
|
|
<p>Pensez à vous essuyer les pieds</p>
|
|
<ul>
|
|
<li>
|
|
<b style="width: 33%; display: inline-block">Pour la bière:</b>
|
|
<code>Le frigo est à droite</code>
|
|
</li>
|
|
<li>
|
|
<b style="width: 33%; display: inline-block">Pour le barbecue</b>
|
|
<code>Porte fenêtre de gauche, puis à droite ce trouve votre bonheur</code>
|
|
</li>
|
|
</ul>
|
|
<hr style="margin: 20px 0 20px 0" />
|
|
</div>
|
|
{{ end }}
|
|
{{ define "head" }}
|
|
<link rel="stylesheet" href="exemple.css" />
|
|
{{ 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
|
|
```
|