Documentation du fichier config.appsport¶
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.
En V2.0.0, 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.
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.0.0¶
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.0.0 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 du projet.
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¶
Le menu Fichier > Nouveau Projet ou le raccourci Ctrl+N crée une structure prête à l'emploi :
Le fichier .appsport généré contient déjà les dossiers du projet, l'URL MY-LIVE-SPORT, generator, group désactivé, et un bloc liveoutput vMix local.
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.
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.0.0 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 Aide > Envoyer les logs pour produire un diagnostic en cas de problème.