arcast/doc/configuration.md

4.0 KiB

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:

{
  // 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

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 :

${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 :

${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

{{ 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 }}