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é (
trueoufalse) ; 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 :
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.
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.
vmixConfig¶
- Type : chaîne
- Description : chemin vers le fichier de configuration vMix à déployer lors de la génération d'un match.
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 :
- Lancer puis fermer vMix au moins une fois pour créer son profil utilisateur.
- Fermer complètement vMix avant la génération.
- Vérifier que le fichier indiqué par
vmixConfigexiste et que les profils vMix sont accessibles en écriture. - 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.
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 aucacheFolder. 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 :
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 dereplaceText;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 danslive/et les enregistrements dansrecord/. - Tester la connexion live output depuis AppSport avant de piloter depuis un navigateur.
- Garder
portethttpPortalignés pour les anciens projets vMix. - Utiliser Help > Send logs pour préparer un diagnostic en cas de problème.