Aller au contenu

Documentation du fichier config.appsport

Pour configurer le poste depuis les menus, commencez par Préparer AppSport pour un match. Les boutons vMix et le GT Mapping ont aussi leurs parcours illustrés. Cette page reste la référence des champs du fichier de projet.

Le fichier config.appsport décrit un projet AppSport : dossiers de travail, fichiers à dupliquer, variables à remplacer, connexion live output et options de fonctionnement.

Il sert à automatiser la préparation d'un direct : création de fichiers vMix ou Premiere Pro depuis des modèles, génération de chemins d'enregistrement, configuration du dossier LIVE, export local et pilotage vMix/CasparCG.

AppSport sert aussi de client de sortie : il se connecte localement à vMix ou CasparCG, puis peut recevoir des actions depuis l'interface web MY-LIVE-SPORT.

Cette référence accompagne la version applicative V2.1.9. La version du client AppSport est distincte : le dépôt du client déclare 2.1.2 au 24 septembre 2026, et l’application déclare une version minimale de client 2.1.0. La version disponible au téléchargement dépend du canal de distribution.

Télécharger AppSport

Téléchargement : AppSport

Le fichier .appsport est un fichier JSON. Il doit donc rester valide : guillemets doubles, virgules bien placées, chemins Windows échappés avec \\ si nécessaire.

Structure recommandée v2

Les nouveaux fichiers sauvegardés par AppSport utilisent les noms de clés suivants :

{
  "generator": false,
  "fileCopy": [],
  "html": {},
  "liveFolder": "LIVE",
  "sourceFolder": "SOURCE",
  "recordFolder": "D:\\",
  "replayFolder": {
    "sourcePath": "SOURCE\\Replay",
    "destinationPath": "D:\\Replay"
  },
  "websiteUrl": "https://app.mylivesport.fr",
  "vmixConfig": "SOURCE/vmix.config",
  "cacheFolder": "C:\\MY-LIVE-SPORT\\cache",
  "liveoutput": [],
  "group": false,
  "cacheFolderCopy": []
}

Les anciennes clés restent lues pour compatibilité, quelle que soit la casse ou les séparateurs :

Clé v2 recommandée Anciens noms encore acceptés
fileCopy copies
liveFolder Dossier_Live, dossier_live
sourceFolder Dossier_Source, dossier_source
recordFolder Dossier_Record, dossier_record
websiteUrl url
vmixConfig config_vmix
cacheFolder cache
liveoutput vMixSettings, vMixStting, VmixSetting, vMixSetting
group Trier, trier, groupe
cacheFolderCopy cacheCopies, copiesCache, copies_cache

Dans les objets internes, les nouveaux fichiers doivent utiliser les clés explicites :

Objet Clés recommandées Anciens noms encore acceptés
fileCopy[] sourcePath, destinationPath, replaceText source, destination, textReplacements, replacements
cacheFolderCopy[] sourcePath, destinationPath source, destination
replayFolder sourcePath, destinationPath source, destination

Champ déprécié : downloadOnly

downloadOnly, downloadonly et download_only sont dépréciés. Ces clés ne doivent plus être utilisées dans les nouveaux fichiers .appsport.

AppSport ne les expose plus dans l'interface et réécrit les fichiers sauvegardés sans cette clé. Pour gérer le comportement attendu, utilisez generator pour distinguer un projet source d'un projet généré/live, et liveoutput[0].software: "none" si aucun moteur local ne doit être piloté.

Réglages live output

Le bloc liveoutput définit le moteur de sortie contrôlé par AppSport. Il peut cibler vMix, CasparCG ou rester désactivé avec none.

Exemple vMix

"liveoutput": [
  {
    "software": "vmix",
    "electronTransport": "tcp",
    "IP": "127.0.0.1",
    "port": "8088",
    "httpPort": "8088",
    "tcpPort": "8099",
    "multiViewInput": 0,
    "previousProgram": -1,
    "previousPreview": -1,
    "refreshInterval": 10000,
    "reconnectDelay": 2000
  }
]

Exemple CasparCG

"liveoutput": [
  {
    "software": "casparcg",
    "IP": "127.0.0.1",
    "casparcgAmcpPort": "5250",
    "refreshInterval": 10000,
    "reconnectDelay": 2000
  }
]
Champ Rôle
software Moteur de sortie : vmix, casparcg ou none.
electronTransport Transport vMix utilisé par AppSport : tcp recommandé, http possible.
IP Adresse du poste vMix ou CasparCG. Utiliser 127.0.0.1 si AppSport tourne sur la même machine.
port Alias historique du port HTTP vMix.
httpPort Port API HTTP vMix, souvent 8088.
tcpPort Port API TCP vMix, souvent 8099.
casparcgAmcpPort Port AMCP CasparCG, souvent 5250.
multiViewInput Input vMix utilisé pour suivre le multi-view si le workflow le prévoit.
previousProgram / previousPreview Derniers états connus, conservés par AppSport.
refreshInterval Intervalle de rafraîchissement lorsque le moteur n'est pas encore connecté.
reconnectDelay Délai entre deux tentatives de reconnexion.

En mode navigateur distant, le navigateur ne contacte pas directement vMix ou CasparCG. Il sélectionne un client AppSport connecté au moteur de sortie, puis lui envoie les actions live.

Détail des clés

generator

  • Type : booléen recommandé (true ou false) ; valeurs historiques acceptées : "1", "0", 1, 0
  • Description : définit le mode du fichier .appsport.
Valeur Effet
false ou 0 Projet source : le bouton de génération de match reste disponible.
true ou 1 Projet généré/live : le bouton de génération est masqué et l'export live local est actif.

AppSport normalise cette valeur en interne pour conserver la compatibilité avec les anciens fichiers qui utilisaient "0" et "1".

fileCopy

  • Type : tableau d'objets
  • Description : liste les fichiers à copier depuis le projet source vers le dossier live.

Champs :

  • sourcePath : chemin du fichier modèle.
  • destinationPath : nom du fichier généré, avec placeholders possibles.
  • replaceText : dictionnaire optionnel de chaînes à rechercher/remplacer dans le fichier copié.

Les anciennes clés source, destination, textReplacements et replacements restent lues pour les projets existants. Les nouveaux fichiers sauvegardés par AppSport écrivent sourcePath, destinationPath et replaceText.

Exemple :

"fileCopy": [
  {
    "sourcePath": "SOURCE\\BASE-{{championship}}-V0.vmix",
    "destinationPath": "{{championship_code}}_{{day_code}}_{{home_nom_score_bug}}-{{away_nom_score_bug}}.vmix",
    "replaceText": {
      "ingest_{{championship}}_test": "ingest_{{championship}}_{{home_nom_score_bug}}",
      "<url>file:///C:/SOURCE/TEST.json</url>": "<url>file:///{{liveFolder}}\\export-vmix.json</url>"
    }
  },
  {
    "sourcePath": "SOURCE\\TEMPLATE RESUME {{championship}}.prproj",
    "destinationPath": "TEMPLATE RESUME {{championship}}.prproj"
  }
]

html

  • Type : objet
  • Description : valeurs injectées dans l'interface AppSport ou dans certains templates.

Exemple :

"html": {
  "com1_name": "Nom commentateur"
}

liveFolder, sourceFolder, recordFolder

  • Type : chaînes
  • Description : dossiers de travail du projet.
Clé Usage
liveFolder Dossier de travail du direct, souvent LIVE.
sourceFolder Dossier des modèles, médias et fichiers source, souvent SOURCE.
recordFolder Dossier d'enregistrement vidéo.

replayFolder

  • Type : objet
  • Description : dossiers utilisés pour les replays.
"replayFolder": {
  "sourcePath": "SOURCE\\Replay",
  "destinationPath": "D:\\Replay"
}

Les anciennes clés source et destination restent acceptées en lecture.

websiteUrl

  • Type : chaîne
  • Description : page ouverte par AppSport au chargement du projet. Elle peut pointer vers l'accueil MY-LIVE-SPORT, une liste de clubs, un match ou une page de contrôle.
"websiteUrl": "https://app.mylivesport.fr"

vmixConfig

  • Type : chaîne
  • Description : chemin vers le fichier de configuration vMix à déployer lors de la génération d'un match.
"vmixConfig": "SOURCE/vmix.config"

Le client copie ce fichier sous le nom user.config dans tous les profils et dossiers de version vMix détectés pour le compte Windows courant.

Avant de générer un projet qui utilise ce réglage :

  1. Lancer puis fermer vMix au moins une fois pour créer son profil utilisateur.
  2. Fermer complètement vMix avant la génération.
  3. Vérifier que le fichier indiqué par vmixConfig existe et que les profils vMix sont accessibles en écriture.
  4. Lancer la génération dans AppSport et vérifier son résultat avant de rouvrir vMix.

Chaque configuration existante est sauvegardée à côté de la cible dans user.config.mylivesport.bak. Les copies sont vérifiées ; si une cible échoue, les cibles déjà modifiées sont restaurées et la génération signale l'erreur.

Situation Action
vMix encore ouvert Fermer vMix puis relancer la génération.
Aucun profil vMix détecté Lancer puis fermer vMix sous le même compte Windows qu'AppSport.
Fichier source absent ou invalide Corriger le chemin vmixConfig et vérifier le fichier.
Écriture refusée ou copie non vérifiée Vérifier les accès indiqués par le message d'erreur, puis relancer.

Les anciens fichiers .appsport restent lisibles. Cette génération devient volontairement plus stricte lorsqu'elle doit déployer une configuration vMix.

cacheFolder

  • Type : chaîne
  • Description : dossier local de cache utilisé par AppSport pour les fichiers temporaires et certaines images générées.
  • Fallback : quand le client crée ou vérifie ce dossier, il ajoute automatiquement EMPTY.png, un PNG transparent utilisé comme image vide locale.

group

  • Type : booléen
  • Description : active le regroupement des joueurs dans les exports live output. Les joueurs de terrain sont regroupés, et le staff est replacé après les remplaçants configurés.
"group": true

cacheFolderCopy

  • Type : tableau d'objets
  • Description : dossiers à répliquer dans le cache si le projet en a besoin.

Champs :

  • sourcePath : dossier source à copier.
  • destinationPath (optionnel) : destination relative au cacheFolder. Les placeholders sont acceptés. Si ce champ est absent, AppSport copie vers le dossier de cache du championnat courant.

Les anciennes clés source et destination restent lues pour les projets existants.

"cacheFolderCopy": [
  {
    "sourcePath": "SOURCE\\Replay",
    "destinationPath": "{{championship_id}}\\Replay"
  }
]

Placeholders disponibles

Les fichiers .vmix, .prproj ou autres modèles peuvent contenir des placeholders remplacés par AppSport au moment de la génération.

Exemples courants :

  • {{day_code}}
  • {{home_nom_score_bug}}
  • {{away_nom_score_bug}}
  • {{championship}}
  • {{championship_code}}
  • {{recordFolder}}
  • {{liveFolder}}
  • {{sourceFolder}}
  • {{broadcast}}

Les anciens placeholders {{Dossier_Record}}, {{Dossier_Live}} et {{Dossier_Source}} restent acceptés pour les templates existants.

Gestion de projet dans AppSport

Nouveau projet

Au lancement sans projet ouvert, utilisez Configuration > AppSport settings…. Renseignez l’URL, les dossiers et le mode Generator, puis cliquez sur Create .appsport file... pour choisir le nom et le dossier de sauvegarde. Ce parcours remplace l’ancienne instruction « Fichier > Nouveau Projet / Ctrl+N », qui ne correspond plus au menu actuel.

Après sauvegarde du projet, Configuration > Create project tree crée l’arborescence, par exemple avec les chemins cache, SOURCE, LIVE et RECORD :

MonProjet/
├── cache/
├── SOURCE/
├── LIVE/
├── RECORD/
└── MonProjet.appsport

Le fichier .appsport conserve les valeurs choisies dans la fenêtre. L’arborescence seule ne crée pas les modèles .vmix ou .gtzip. Le guide AppSport explique le choix du mode : Generator décoché pour le projet source, coché pour le projet utilisé en direct.

Ouvrir un projet

Le menu File > Open project ou le raccourci Ctrl+O charge un fichier .appsport existant et recharge l'interface avec ses réglages.

Modifier les chemins et le live output

Utilisez Configuration > AppSport settings pour modifier les dossiers, Generator, le groupement, la connexion vMix/CasparCG, les ports et les règles de copie.

Save to .appsport applique et enregistre les modifications dans le fichier ouvert. Apply les applique à la session sans enregistrer ce fichier. Rouvrez le même projet pour vérifier la persistance des réglages.

Les fenêtres AppSport Settings et Table de marque suivent le thème clair ou sombre de la page principale, avec le thème système comme repli.

L'interface AppSport propose maintenant des éditeurs guidés pour :

  • fileCopy : sélection du fichier source, saisie de la destination et ajout de replaceText ;
  • cacheFolderCopy : sélection du dossier source et saisie de la destination de cache.

Le mode JSON avancé reste disponible pour les cas complexes, mais le format sauvegardé utilise les clés sourcePath, destinationPath et replaceText.

Bonnes pratiques

  • Valider le JSON avant un direct.
  • Utiliser les clés v2 recommandées dans les nouveaux fichiers.
  • Garder les anciens noms uniquement pour les projets historiques.
  • Organiser les modèles dans source/, les fichiers générés dans live/ et les enregistrements dans record/.
  • Tester la connexion live output depuis AppSport avant de piloter depuis un navigateur.
  • Garder port et httpPort alignés pour les anciens projets vMix.
  • Utiliser Help > Send logs pour préparer un diagnostic en cas de problème.