arcast/doc/configuration.md

123 lines
4.0 KiB
Markdown
Raw Normal View History

- [Configuration](#configuration)
- [Personnalisation](#personnalisation)
- [Exemple](#exemple)
- [index.gohtml exemple](#indexgohtml-exemple)
# 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
2024-04-26 12:10:59 +02:00
"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
2024-04-24 17:32:01 +02:00
"defaultApp": "main"
}
}
```
2024-04-26 12:10:59 +02:00
## Personnalisation
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 templates **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 }}
```