Modification des données affichée dans la gestion des scores, ajout de la notion Total et Manche (affichage de la manche courante et du score total)
This commit is contained in:
parent
44ce39bf3f
commit
c3b86cb68b
Binary file not shown.
@ -1 +0,0 @@
|
|||||||
8-bit-coin-fx_G_minor.wav
|
|
@ -1 +0,0 @@
|
|||||||
8-bit-coin-fx_G_minor.wav
|
|
Binary file not shown.
@ -1 +0,0 @@
|
|||||||
mqttBrokerUrl = 'ws://localhost:9001'
|
|
482
soundplayer-mqtt/package-lock.json
generated
482
soundplayer-mqtt/package-lock.json
generated
@ -1,482 +0,0 @@
|
|||||||
{
|
|
||||||
"name": "src",
|
|
||||||
"lockfileVersion": 3,
|
|
||||||
"requires": true,
|
|
||||||
"packages": {
|
|
||||||
"": {
|
|
||||||
"dependencies": {
|
|
||||||
"mqtt": "^5.3.6",
|
|
||||||
"play-sound": "^1.1.6"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"node_modules/@babel/runtime": {
|
|
||||||
"version": "7.24.0",
|
|
||||||
"resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.24.0.tgz",
|
|
||||||
"integrity": "sha512-Chk32uHMg6TnQdvw2e9IlqPpFX/6NLuK0Ys2PqLb7/gL5uFn9mXvK715FGLlOLQrcO4qIkNHkvPGktzzXexsFw==",
|
|
||||||
"dependencies": {
|
|
||||||
"regenerator-runtime": "^0.14.0"
|
|
||||||
},
|
|
||||||
"engines": {
|
|
||||||
"node": ">=6.9.0"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"node_modules/@types/node": {
|
|
||||||
"version": "20.11.21",
|
|
||||||
"resolved": "https://registry.npmjs.org/@types/node/-/node-20.11.21.tgz",
|
|
||||||
"integrity": "sha512-/ySDLGscFPNasfqStUuWWPfL78jompfIoVzLJPVVAHBh6rpG68+pI2Gk+fNLeI8/f1yPYL4s46EleVIc20F1Ow==",
|
|
||||||
"dependencies": {
|
|
||||||
"undici-types": "~5.26.4"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"node_modules/@types/readable-stream": {
|
|
||||||
"version": "4.0.10",
|
|
||||||
"resolved": "https://registry.npmjs.org/@types/readable-stream/-/readable-stream-4.0.10.tgz",
|
|
||||||
"integrity": "sha512-AbUKBjcC8SHmImNi4yK2bbjogQlkFSg7shZCcicxPQapniOlajG8GCc39lvXzCWX4lLRRs7DM3VAeSlqmEVZUA==",
|
|
||||||
"dependencies": {
|
|
||||||
"@types/node": "*",
|
|
||||||
"safe-buffer": "~5.1.1"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"node_modules/@types/ws": {
|
|
||||||
"version": "8.5.10",
|
|
||||||
"resolved": "https://registry.npmjs.org/@types/ws/-/ws-8.5.10.tgz",
|
|
||||||
"integrity": "sha512-vmQSUcfalpIq0R9q7uTo2lXs6eGIpt9wtnLdMv9LVpIjCA/+ufZRozlVoVelIYixx1ugCBKDhn89vnsEGOCx9A==",
|
|
||||||
"dependencies": {
|
|
||||||
"@types/node": "*"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"node_modules/abort-controller": {
|
|
||||||
"version": "3.0.0",
|
|
||||||
"resolved": "https://registry.npmjs.org/abort-controller/-/abort-controller-3.0.0.tgz",
|
|
||||||
"integrity": "sha512-h8lQ8tacZYnR3vNQTgibj+tODHI5/+l06Au2Pcriv/Gmet0eaj4TwWH41sO9wnHDiQsEj19q0drzdWdeAHtweg==",
|
|
||||||
"dependencies": {
|
|
||||||
"event-target-shim": "^5.0.0"
|
|
||||||
},
|
|
||||||
"engines": {
|
|
||||||
"node": ">=6.5"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"node_modules/base64-js": {
|
|
||||||
"version": "1.5.1",
|
|
||||||
"resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz",
|
|
||||||
"integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==",
|
|
||||||
"funding": [
|
|
||||||
{
|
|
||||||
"type": "github",
|
|
||||||
"url": "https://github.com/sponsors/feross"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"type": "patreon",
|
|
||||||
"url": "https://www.patreon.com/feross"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"type": "consulting",
|
|
||||||
"url": "https://feross.org/support"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"node_modules/bl": {
|
|
||||||
"version": "6.0.11",
|
|
||||||
"resolved": "https://registry.npmjs.org/bl/-/bl-6.0.11.tgz",
|
|
||||||
"integrity": "sha512-Ok/NWrEA0mlEEbWzckkZVLq6Nv1m2xZ+i9Jq5hZ9Ph/YEcP5dExqls9wUzpluhQRPzdeT8oZNOXAytta6YN8pQ==",
|
|
||||||
"dependencies": {
|
|
||||||
"@types/readable-stream": "^4.0.0",
|
|
||||||
"buffer": "^6.0.3",
|
|
||||||
"inherits": "^2.0.4",
|
|
||||||
"readable-stream": "^4.2.0"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"node_modules/buffer": {
|
|
||||||
"version": "6.0.3",
|
|
||||||
"resolved": "https://registry.npmjs.org/buffer/-/buffer-6.0.3.tgz",
|
|
||||||
"integrity": "sha512-FTiCpNxtwiZZHEZbcbTIcZjERVICn9yq/pDFkTl95/AxzD1naBctN7YO68riM/gLSDY7sdrMby8hofADYuuqOA==",
|
|
||||||
"funding": [
|
|
||||||
{
|
|
||||||
"type": "github",
|
|
||||||
"url": "https://github.com/sponsors/feross"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"type": "patreon",
|
|
||||||
"url": "https://www.patreon.com/feross"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"type": "consulting",
|
|
||||||
"url": "https://feross.org/support"
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"dependencies": {
|
|
||||||
"base64-js": "^1.3.1",
|
|
||||||
"ieee754": "^1.2.1"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"node_modules/buffer-from": {
|
|
||||||
"version": "1.1.2",
|
|
||||||
"resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz",
|
|
||||||
"integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ=="
|
|
||||||
},
|
|
||||||
"node_modules/commist": {
|
|
||||||
"version": "3.2.0",
|
|
||||||
"resolved": "https://registry.npmjs.org/commist/-/commist-3.2.0.tgz",
|
|
||||||
"integrity": "sha512-4PIMoPniho+LqXmpS5d3NuGYncG6XWlkBSVGiWycL22dd42OYdUGil2CWuzklaJoNxyxUSpO4MKIBU94viWNAw=="
|
|
||||||
},
|
|
||||||
"node_modules/concat-stream": {
|
|
||||||
"version": "2.0.0",
|
|
||||||
"resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-2.0.0.tgz",
|
|
||||||
"integrity": "sha512-MWufYdFw53ccGjCA+Ol7XJYpAlW6/prSMzuPOTRnJGcGzuhLn4Scrz7qf6o8bROZ514ltazcIFJZevcfbo0x7A==",
|
|
||||||
"engines": [
|
|
||||||
"node >= 6.0"
|
|
||||||
],
|
|
||||||
"dependencies": {
|
|
||||||
"buffer-from": "^1.0.0",
|
|
||||||
"inherits": "^2.0.3",
|
|
||||||
"readable-stream": "^3.0.2",
|
|
||||||
"typedarray": "^0.0.6"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"node_modules/concat-stream/node_modules/readable-stream": {
|
|
||||||
"version": "3.6.2",
|
|
||||||
"resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz",
|
|
||||||
"integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==",
|
|
||||||
"dependencies": {
|
|
||||||
"inherits": "^2.0.3",
|
|
||||||
"string_decoder": "^1.1.1",
|
|
||||||
"util-deprecate": "^1.0.1"
|
|
||||||
},
|
|
||||||
"engines": {
|
|
||||||
"node": ">= 6"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"node_modules/debug": {
|
|
||||||
"version": "4.3.4",
|
|
||||||
"resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz",
|
|
||||||
"integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==",
|
|
||||||
"dependencies": {
|
|
||||||
"ms": "2.1.2"
|
|
||||||
},
|
|
||||||
"engines": {
|
|
||||||
"node": ">=6.0"
|
|
||||||
},
|
|
||||||
"peerDependenciesMeta": {
|
|
||||||
"supports-color": {
|
|
||||||
"optional": true
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"node_modules/event-target-shim": {
|
|
||||||
"version": "5.0.1",
|
|
||||||
"resolved": "https://registry.npmjs.org/event-target-shim/-/event-target-shim-5.0.1.tgz",
|
|
||||||
"integrity": "sha512-i/2XbnSz/uxRCU6+NdVJgKWDTM427+MqYbkQzD321DuCQJUqOuJKIA0IM2+W2xtYHdKOmZ4dR6fExsd4SXL+WQ==",
|
|
||||||
"engines": {
|
|
||||||
"node": ">=6"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"node_modules/events": {
|
|
||||||
"version": "3.3.0",
|
|
||||||
"resolved": "https://registry.npmjs.org/events/-/events-3.3.0.tgz",
|
|
||||||
"integrity": "sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==",
|
|
||||||
"engines": {
|
|
||||||
"node": ">=0.8.x"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"node_modules/fast-unique-numbers": {
|
|
||||||
"version": "9.0.0",
|
|
||||||
"resolved": "https://registry.npmjs.org/fast-unique-numbers/-/fast-unique-numbers-9.0.0.tgz",
|
|
||||||
"integrity": "sha512-lgIjiflW23W7qgagregmo5FFzM+m4/dWaDUVneRi2AV7o2k5npggeEX7srSKlYfJU9fKXvQV2Gzk3272fJT65w==",
|
|
||||||
"dependencies": {
|
|
||||||
"@babel/runtime": "^7.23.9",
|
|
||||||
"tslib": "^2.6.2"
|
|
||||||
},
|
|
||||||
"engines": {
|
|
||||||
"node": ">=18.2.0"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"node_modules/find-exec": {
|
|
||||||
"version": "1.0.3",
|
|
||||||
"resolved": "https://registry.npmjs.org/find-exec/-/find-exec-1.0.3.tgz",
|
|
||||||
"integrity": "sha512-gnG38zW90mS8hm5smNcrBnakPEt+cGJoiMkJwCU0IYnEb0H2NQk0NIljhNW+48oniCriFek/PH6QXbwsJo/qug==",
|
|
||||||
"dependencies": {
|
|
||||||
"shell-quote": "^1.8.1"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"node_modules/help-me": {
|
|
||||||
"version": "5.0.0",
|
|
||||||
"resolved": "https://registry.npmjs.org/help-me/-/help-me-5.0.0.tgz",
|
|
||||||
"integrity": "sha512-7xgomUX6ADmcYzFik0HzAxh/73YlKR9bmFzf51CZwR+b6YtzU2m0u49hQCqV6SvlqIqsaxovfwdvbnsw3b/zpg=="
|
|
||||||
},
|
|
||||||
"node_modules/ieee754": {
|
|
||||||
"version": "1.2.1",
|
|
||||||
"resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz",
|
|
||||||
"integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==",
|
|
||||||
"funding": [
|
|
||||||
{
|
|
||||||
"type": "github",
|
|
||||||
"url": "https://github.com/sponsors/feross"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"type": "patreon",
|
|
||||||
"url": "https://www.patreon.com/feross"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"type": "consulting",
|
|
||||||
"url": "https://feross.org/support"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"node_modules/inherits": {
|
|
||||||
"version": "2.0.4",
|
|
||||||
"resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz",
|
|
||||||
"integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ=="
|
|
||||||
},
|
|
||||||
"node_modules/js-sdsl": {
|
|
||||||
"version": "4.3.0",
|
|
||||||
"resolved": "https://registry.npmjs.org/js-sdsl/-/js-sdsl-4.3.0.tgz",
|
|
||||||
"integrity": "sha512-mifzlm2+5nZ+lEcLJMoBK0/IH/bDg8XnJfd/Wq6IP+xoCjLZsTOnV2QpxlVbX9bMnkl5PdEjNtBJ9Cj1NjifhQ==",
|
|
||||||
"funding": {
|
|
||||||
"type": "opencollective",
|
|
||||||
"url": "https://opencollective.com/js-sdsl"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"node_modules/lru-cache": {
|
|
||||||
"version": "10.2.0",
|
|
||||||
"resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.2.0.tgz",
|
|
||||||
"integrity": "sha512-2bIM8x+VAf6JT4bKAljS1qUWgMsqZRPGJS6FSahIMPVvctcNhyVp7AJu7quxOW9jwkryBReKZY5tY5JYv2n/7Q==",
|
|
||||||
"engines": {
|
|
||||||
"node": "14 || >=16.14"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"node_modules/minimist": {
|
|
||||||
"version": "1.2.8",
|
|
||||||
"resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.8.tgz",
|
|
||||||
"integrity": "sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==",
|
|
||||||
"funding": {
|
|
||||||
"url": "https://github.com/sponsors/ljharb"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"node_modules/mqtt": {
|
|
||||||
"version": "5.3.6",
|
|
||||||
"resolved": "https://registry.npmjs.org/mqtt/-/mqtt-5.3.6.tgz",
|
|
||||||
"integrity": "sha512-3XeyCdHRFf3zZdUUBt/pqprKPtUABc8O4ZGPGs2QPO4sPNTnJels8U2UtBtMt09QCgpUmw8gLTLy2R7verR7kQ==",
|
|
||||||
"dependencies": {
|
|
||||||
"@types/readable-stream": "^4.0.5",
|
|
||||||
"@types/ws": "^8.5.9",
|
|
||||||
"commist": "^3.2.0",
|
|
||||||
"concat-stream": "^2.0.0",
|
|
||||||
"debug": "^4.3.4",
|
|
||||||
"help-me": "^5.0.0",
|
|
||||||
"lru-cache": "^10.0.1",
|
|
||||||
"minimist": "^1.2.8",
|
|
||||||
"mqtt": "^5.2.0",
|
|
||||||
"mqtt-packet": "^9.0.0",
|
|
||||||
"number-allocator": "^1.0.14",
|
|
||||||
"readable-stream": "^4.4.2",
|
|
||||||
"reinterval": "^1.1.0",
|
|
||||||
"rfdc": "^1.3.0",
|
|
||||||
"split2": "^4.2.0",
|
|
||||||
"worker-timers": "^7.0.78",
|
|
||||||
"ws": "^8.14.2"
|
|
||||||
},
|
|
||||||
"bin": {
|
|
||||||
"mqtt": "build/bin/mqtt.js",
|
|
||||||
"mqtt_pub": "build/bin/pub.js",
|
|
||||||
"mqtt_sub": "build/bin/sub.js"
|
|
||||||
},
|
|
||||||
"engines": {
|
|
||||||
"node": ">=16.0.0"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"node_modules/mqtt-packet": {
|
|
||||||
"version": "9.0.0",
|
|
||||||
"resolved": "https://registry.npmjs.org/mqtt-packet/-/mqtt-packet-9.0.0.tgz",
|
|
||||||
"integrity": "sha512-8v+HkX+fwbodsWAZIZTI074XIoxVBOmPeggQuDFCGg1SqNcC+uoRMWu7J6QlJPqIUIJXmjNYYHxBBLr1Y/Df4w==",
|
|
||||||
"dependencies": {
|
|
||||||
"bl": "^6.0.8",
|
|
||||||
"debug": "^4.3.4",
|
|
||||||
"process-nextick-args": "^2.0.1"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"node_modules/ms": {
|
|
||||||
"version": "2.1.2",
|
|
||||||
"resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz",
|
|
||||||
"integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w=="
|
|
||||||
},
|
|
||||||
"node_modules/number-allocator": {
|
|
||||||
"version": "1.0.14",
|
|
||||||
"resolved": "https://registry.npmjs.org/number-allocator/-/number-allocator-1.0.14.tgz",
|
|
||||||
"integrity": "sha512-OrL44UTVAvkKdOdRQZIJpLkAdjXGTRda052sN4sO77bKEzYYqWKMBjQvrJFzqygI99gL6Z4u2xctPW1tB8ErvA==",
|
|
||||||
"dependencies": {
|
|
||||||
"debug": "^4.3.1",
|
|
||||||
"js-sdsl": "4.3.0"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"node_modules/play-sound": {
|
|
||||||
"version": "1.1.6",
|
|
||||||
"resolved": "https://registry.npmjs.org/play-sound/-/play-sound-1.1.6.tgz",
|
|
||||||
"integrity": "sha512-09eO4QiXNFXJffJaOW5P6x6F5RLihpLUkXttvUZeWml0fU6x6Zp7AjG9zaeMpgH2ZNvq4GR1ytB22ddYcqJIZA==",
|
|
||||||
"dependencies": {
|
|
||||||
"find-exec": "1.0.3"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"node_modules/process": {
|
|
||||||
"version": "0.11.10",
|
|
||||||
"resolved": "https://registry.npmjs.org/process/-/process-0.11.10.tgz",
|
|
||||||
"integrity": "sha512-cdGef/drWFoydD1JsMzuFf8100nZl+GT+yacc2bEced5f9Rjk4z+WtFUTBu9PhOi9j/jfmBPu0mMEY4wIdAF8A==",
|
|
||||||
"engines": {
|
|
||||||
"node": ">= 0.6.0"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"node_modules/process-nextick-args": {
|
|
||||||
"version": "2.0.1",
|
|
||||||
"resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz",
|
|
||||||
"integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag=="
|
|
||||||
},
|
|
||||||
"node_modules/readable-stream": {
|
|
||||||
"version": "4.5.2",
|
|
||||||
"resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-4.5.2.tgz",
|
|
||||||
"integrity": "sha512-yjavECdqeZ3GLXNgRXgeQEdz9fvDDkNKyHnbHRFtOr7/LcfgBcmct7t/ET+HaCTqfh06OzoAxrkN/IfjJBVe+g==",
|
|
||||||
"dependencies": {
|
|
||||||
"abort-controller": "^3.0.0",
|
|
||||||
"buffer": "^6.0.3",
|
|
||||||
"events": "^3.3.0",
|
|
||||||
"process": "^0.11.10",
|
|
||||||
"string_decoder": "^1.3.0"
|
|
||||||
},
|
|
||||||
"engines": {
|
|
||||||
"node": "^12.22.0 || ^14.17.0 || >=16.0.0"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"node_modules/regenerator-runtime": {
|
|
||||||
"version": "0.14.1",
|
|
||||||
"resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.14.1.tgz",
|
|
||||||
"integrity": "sha512-dYnhHh0nJoMfnkZs6GmmhFknAGRrLznOu5nc9ML+EJxGvrx6H7teuevqVqCuPcPK//3eDrrjQhehXVx9cnkGdw=="
|
|
||||||
},
|
|
||||||
"node_modules/reinterval": {
|
|
||||||
"version": "1.1.0",
|
|
||||||
"resolved": "https://registry.npmjs.org/reinterval/-/reinterval-1.1.0.tgz",
|
|
||||||
"integrity": "sha512-QIRet3SYrGp0HUHO88jVskiG6seqUGC5iAG7AwI/BV4ypGcuqk9Du6YQBUOUqm9c8pw1eyLoIaONifRua1lsEQ=="
|
|
||||||
},
|
|
||||||
"node_modules/rfdc": {
|
|
||||||
"version": "1.3.1",
|
|
||||||
"resolved": "https://registry.npmjs.org/rfdc/-/rfdc-1.3.1.tgz",
|
|
||||||
"integrity": "sha512-r5a3l5HzYlIC68TpmYKlxWjmOP6wiPJ1vWv2HeLhNsRZMrCkxeqxiHlQ21oXmQ4F3SiryXBHhAD7JZqvOJjFmg=="
|
|
||||||
},
|
|
||||||
"node_modules/safe-buffer": {
|
|
||||||
"version": "5.1.2",
|
|
||||||
"resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz",
|
|
||||||
"integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g=="
|
|
||||||
},
|
|
||||||
"node_modules/shell-quote": {
|
|
||||||
"version": "1.8.1",
|
|
||||||
"resolved": "https://registry.npmjs.org/shell-quote/-/shell-quote-1.8.1.tgz",
|
|
||||||
"integrity": "sha512-6j1W9l1iAs/4xYBI1SYOVZyFcCis9b4KCLQ8fgAGG07QvzaRLVVRQvAy85yNmmZSjYjg4MWh4gNvlPujU/5LpA==",
|
|
||||||
"funding": {
|
|
||||||
"url": "https://github.com/sponsors/ljharb"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"node_modules/split2": {
|
|
||||||
"version": "4.2.0",
|
|
||||||
"resolved": "https://registry.npmjs.org/split2/-/split2-4.2.0.tgz",
|
|
||||||
"integrity": "sha512-UcjcJOWknrNkF6PLX83qcHM6KHgVKNkV62Y8a5uYDVv9ydGQVwAHMKqHdJje1VTWpljG0WYpCDhrCdAOYH4TWg==",
|
|
||||||
"engines": {
|
|
||||||
"node": ">= 10.x"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"node_modules/string_decoder": {
|
|
||||||
"version": "1.3.0",
|
|
||||||
"resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz",
|
|
||||||
"integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==",
|
|
||||||
"dependencies": {
|
|
||||||
"safe-buffer": "~5.2.0"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"node_modules/string_decoder/node_modules/safe-buffer": {
|
|
||||||
"version": "5.2.1",
|
|
||||||
"resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz",
|
|
||||||
"integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==",
|
|
||||||
"funding": [
|
|
||||||
{
|
|
||||||
"type": "github",
|
|
||||||
"url": "https://github.com/sponsors/feross"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"type": "patreon",
|
|
||||||
"url": "https://www.patreon.com/feross"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"type": "consulting",
|
|
||||||
"url": "https://feross.org/support"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"node_modules/tslib": {
|
|
||||||
"version": "2.6.2",
|
|
||||||
"resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.2.tgz",
|
|
||||||
"integrity": "sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q=="
|
|
||||||
},
|
|
||||||
"node_modules/typedarray": {
|
|
||||||
"version": "0.0.6",
|
|
||||||
"resolved": "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz",
|
|
||||||
"integrity": "sha512-/aCDEGatGvZ2BIk+HmLf4ifCJFwvKFNb9/JeZPMulfgFracn9QFcAf5GO8B/mweUjSoblS5In0cWhqpfs/5PQA=="
|
|
||||||
},
|
|
||||||
"node_modules/undici-types": {
|
|
||||||
"version": "5.26.5",
|
|
||||||
"resolved": "https://registry.npmjs.org/undici-types/-/undici-types-5.26.5.tgz",
|
|
||||||
"integrity": "sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA=="
|
|
||||||
},
|
|
||||||
"node_modules/util-deprecate": {
|
|
||||||
"version": "1.0.2",
|
|
||||||
"resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz",
|
|
||||||
"integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw=="
|
|
||||||
},
|
|
||||||
"node_modules/worker-timers": {
|
|
||||||
"version": "7.1.2",
|
|
||||||
"resolved": "https://registry.npmjs.org/worker-timers/-/worker-timers-7.1.2.tgz",
|
|
||||||
"integrity": "sha512-iqhXt5+Mc3u2nHj3G/w/E9pXqhlueniA2NlyelB/MQSHQuuW2fmmZGkveAv6yi4SSZvrpbveBBlqPSZ0MDCLww==",
|
|
||||||
"dependencies": {
|
|
||||||
"@babel/runtime": "^7.23.9",
|
|
||||||
"tslib": "^2.6.2",
|
|
||||||
"worker-timers-broker": "^6.1.2",
|
|
||||||
"worker-timers-worker": "^7.0.66"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"node_modules/worker-timers-broker": {
|
|
||||||
"version": "6.1.2",
|
|
||||||
"resolved": "https://registry.npmjs.org/worker-timers-broker/-/worker-timers-broker-6.1.2.tgz",
|
|
||||||
"integrity": "sha512-slFupigW5vtkGJ1VBCxYPwXFFRmvfioh02bCltBhbMkt3fFnkAbKBCg61pNTetlD0RAsP09mqx/FB0f4UMoHNw==",
|
|
||||||
"dependencies": {
|
|
||||||
"@babel/runtime": "^7.23.9",
|
|
||||||
"fast-unique-numbers": "^9.0.0",
|
|
||||||
"tslib": "^2.6.2",
|
|
||||||
"worker-timers-worker": "^7.0.66"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"node_modules/worker-timers-worker": {
|
|
||||||
"version": "7.0.66",
|
|
||||||
"resolved": "https://registry.npmjs.org/worker-timers-worker/-/worker-timers-worker-7.0.66.tgz",
|
|
||||||
"integrity": "sha512-VCLa0H5K9fE2DVI/9r5zDuFrMQIpNL3UD/h4Ui49fIiRBTgv1Sqe0RM12brr83anBsm103aUQkvKvCBL+KpNtg==",
|
|
||||||
"dependencies": {
|
|
||||||
"@babel/runtime": "^7.23.9",
|
|
||||||
"tslib": "^2.6.2"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"node_modules/ws": {
|
|
||||||
"version": "8.16.0",
|
|
||||||
"resolved": "https://registry.npmjs.org/ws/-/ws-8.16.0.tgz",
|
|
||||||
"integrity": "sha512-HS0c//TP7Ina87TfiPUz1rQzMhHrl/SG2guqRcTOIUYD2q8uhUdNHZYJUaQ8aTGPzCh+c6oawMKW35nFl1dxyQ==",
|
|
||||||
"engines": {
|
|
||||||
"node": ">=10.0.0"
|
|
||||||
},
|
|
||||||
"peerDependencies": {
|
|
||||||
"bufferutil": "^4.0.1",
|
|
||||||
"utf-8-validate": ">=5.0.2"
|
|
||||||
},
|
|
||||||
"peerDependenciesMeta": {
|
|
||||||
"bufferutil": {
|
|
||||||
"optional": true
|
|
||||||
},
|
|
||||||
"utf-8-validate": {
|
|
||||||
"optional": true
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
@ -1,6 +0,0 @@
|
|||||||
{
|
|
||||||
"dependencies": {
|
|
||||||
"mqtt": "^5.3.6",
|
|
||||||
"play-sound": "^1.1.6"
|
|
||||||
}
|
|
||||||
}
|
|
@ -1,54 +0,0 @@
|
|||||||
const config = require('./config')
|
|
||||||
const player = require('play-sound')();
|
|
||||||
const mqtt = require('mqtt')
|
|
||||||
|
|
||||||
// Créer une instance de client MQTT
|
|
||||||
const client = mqtt.connect(config.mqttBrokerUrl);
|
|
||||||
|
|
||||||
|
|
||||||
const messages_sounds_maps = {
|
|
||||||
'success': "./assets/sounds/success.mp3",
|
|
||||||
'fail': "./assets/sounds/error.mp3",
|
|
||||||
'timer': "./assets/sounds/timer.mp3",
|
|
||||||
'bell': "/home/lol/Src/fablab/brain-blast-services/src/assets/sounds/coin.wav",
|
|
||||||
'applause': "./assets/sound/clap.mp3"
|
|
||||||
}
|
|
||||||
|
|
||||||
// Gérer les événements de connexion
|
|
||||||
client.on('connect', function () {
|
|
||||||
console.log('Connecté au broker MQTT')
|
|
||||||
|
|
||||||
// S'abonner à un topic
|
|
||||||
client.subscribe('/sound/playsound', function (err) {
|
|
||||||
if (err) {
|
|
||||||
console.error('Erreur lors de la souscription au topic', err)
|
|
||||||
} else {
|
|
||||||
console.log('Souscription au topic réussie')
|
|
||||||
}
|
|
||||||
});
|
|
||||||
});
|
|
||||||
|
|
||||||
// Gérer les messages entrants
|
|
||||||
client.on('message', function (topic, message) {
|
|
||||||
let obj = JSON.parse(message)
|
|
||||||
const audioFile = messages_sounds_maps[obj]
|
|
||||||
console.log('Message reçu sur le topic', topic, ':', obj)
|
|
||||||
console.log('Je vais lire le fichier : ', audioFile)
|
|
||||||
if (audioFile) {
|
|
||||||
// Jouer le fichier audio correspondant au message reçu
|
|
||||||
player.play(audioFile, function(err){
|
|
||||||
if (err) {
|
|
||||||
console.error('Erreur lors de la lecture du fichier audio', err);
|
|
||||||
} else {
|
|
||||||
console.log('Fichier audio lu avec succès');
|
|
||||||
}
|
|
||||||
});
|
|
||||||
} else {
|
|
||||||
console.warn('Aucun fichier audio correspondant au message reçu');
|
|
||||||
}
|
|
||||||
});
|
|
||||||
|
|
||||||
// Gérer les erreurs de connexion
|
|
||||||
client.on('error', function (error) {
|
|
||||||
console.error('Erreur de connexion au broker MQTT', error);
|
|
||||||
});
|
|
BIN
ui/src/assets/design.png
Normal file
BIN
ui/src/assets/design.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 3.4 MiB |
@ -18,23 +18,88 @@
|
|||||||
<div>
|
<div>
|
||||||
<v-row no-gutters justify="space-around" class="scorebox-1-pos">
|
<v-row no-gutters justify="space-around" class="scorebox-1-pos">
|
||||||
<v-row>
|
<v-row>
|
||||||
<v-col class="align-start scorediv-style-red pr-1">
|
<v-col class="align-start scorediv-style-red pl-1">
|
||||||
<v-label class="labelScore-style">{{ RedScore }}</v-label>
|
<v-col>
|
||||||
|
<div class="pr-1">
|
||||||
|
<div>
|
||||||
|
<v-label class="labelRoundScore-style">Manche</v-label>
|
||||||
|
</div>
|
||||||
|
<v-label class="labelRoundScore-style">{{ RedRoundScore }}</v-label>
|
||||||
|
</div>
|
||||||
|
<v-divider class="pr-1" color="background"/>
|
||||||
</v-col>
|
</v-col>
|
||||||
|
<div class="pr-1">
|
||||||
|
<div>
|
||||||
|
<v-label class="labelTotalScore-style">Total</v-label>
|
||||||
|
</div>
|
||||||
|
<v-label class="labelTotalScore-style">{{ RedTotalScore }}</v-label>
|
||||||
|
</div>
|
||||||
|
</v-col>
|
||||||
|
|
||||||
|
|
||||||
<v-col class="align-start scorediv-style-blue pl-1">
|
<v-col class="align-start scorediv-style-blue pl-1">
|
||||||
<v-label class="labelScore-style">{{ BlueScore }}</v-label>
|
<v-col>
|
||||||
|
<div class="pr-1">
|
||||||
|
<div>
|
||||||
|
<v-label class="labelRoundScore-style">Manche</v-label>
|
||||||
|
</div>
|
||||||
|
<v-label class="labelRoundScore-style">{{ BlueRoundScore }}</v-label>
|
||||||
|
</div>
|
||||||
|
<v-divider class="pr-1" color="background"/>
|
||||||
|
</v-col>
|
||||||
|
|
||||||
|
<div class="pr-1">
|
||||||
|
<div>
|
||||||
|
<v-label class="labelTotalScore-style">Total</v-label>
|
||||||
|
</div>
|
||||||
|
<v-label class="labelTotalScore-style">{{ BlueTotalScore }}</v-label>
|
||||||
|
</div>
|
||||||
</v-col>
|
</v-col>
|
||||||
</v-row>
|
</v-row>
|
||||||
</v-row>
|
</v-row>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<div>
|
<div>
|
||||||
<v-row no-gutters justify="space-around" class="scorebox-2-pos mb-0">
|
<v-row no-gutters justify="space-around" class="scorebox-2-pos mb-0">
|
||||||
<v-row>
|
<v-row>
|
||||||
<v-col class="align-start scorediv-style-orange pr-1">
|
<v-col class="scorediv-style-orange pl-1">
|
||||||
<v-label class="labelScore-style">{{ OrangeScore }}</v-label>
|
<v-col>
|
||||||
|
<div class="pr-1">
|
||||||
|
<div>
|
||||||
|
<v-label class="labelRoundScore-style">Manche</v-label>
|
||||||
|
</div>
|
||||||
|
<v-label class="labelRoundScore-style">{{ OrangeRoundScore }}</v-label>
|
||||||
|
</div>
|
||||||
|
<v-divider class="pr-1" color="background"/>
|
||||||
</v-col>
|
</v-col>
|
||||||
|
|
||||||
|
<div class="pr-1">
|
||||||
|
<div>
|
||||||
|
<v-label class="labelTotalScore-style">Total</v-label>
|
||||||
|
</div>
|
||||||
|
<v-label class="labelTotalScore-style">{{ OrangeTotalScore }}</v-label>
|
||||||
|
</div>
|
||||||
|
</v-col>
|
||||||
|
|
||||||
<v-col class="align-start scorediv-style-green pl-1">
|
<v-col class="align-start scorediv-style-green pl-1">
|
||||||
<v-label class="labelScore-style">{{ GreenScore }}</v-label>
|
<v-col>
|
||||||
|
<div class="pr-1">
|
||||||
|
<div>
|
||||||
|
<v-label class="labelRoundScore-style">Manche</v-label>
|
||||||
|
</div>
|
||||||
|
<v-label class="labelRoundScore-style">{{ GreenRoundScore }}</v-label>
|
||||||
|
</div>
|
||||||
|
<v-divider class="pr-1" color="background"/>
|
||||||
|
</v-col>
|
||||||
|
|
||||||
|
<div class="pr-1">
|
||||||
|
<div>
|
||||||
|
<v-label class="labelTotalScore-style">Total</v-label>
|
||||||
|
</div>
|
||||||
|
<v-label class="labelTotalScore-style">{{ GreenTotalScore }}</v-label>
|
||||||
|
</div>
|
||||||
</v-col>
|
</v-col>
|
||||||
</v-row>
|
</v-row>
|
||||||
</v-row>
|
</v-row>
|
||||||
@ -47,10 +112,14 @@ import { ref} from 'vue'; // Import des fonctions de Vue 3
|
|||||||
import variables from '@/variables.js';
|
import variables from '@/variables.js';
|
||||||
|
|
||||||
// Déclaration des variables locales pour les scores
|
// Déclaration des variables locales pour les scores
|
||||||
const RedScore = ref(variables.RedScore);
|
const RedTotalScore = ref(variables.RedTotalScore);
|
||||||
const BlueScore = ref(variables.BlueScore);
|
const BlueTotalScore = ref(variables.BlueTotalScore);
|
||||||
const OrangeScore = ref(variables.OrangeScore);
|
const OrangeTotalScore = ref(variables.OrangeTotalScore);
|
||||||
const GreenScore = ref(variables.GreenScore);
|
const GreenTotalScore = ref(variables.GreenTotalScore);
|
||||||
|
const RedRoundScore = ref(variables.RedRoundScore);
|
||||||
|
const BlueRoundScore = ref(variables.BlueRoundScore);
|
||||||
|
const OrangeRoundScore = ref(variables.OrangeRoundScore);
|
||||||
|
const GreenRoundScore = ref(variables.GreenRoundScore);
|
||||||
|
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
@ -65,8 +134,15 @@ const GreenScore = ref(variables.GreenScore);
|
|||||||
color: #e91e1e !important;
|
color: #e91e1e !important;
|
||||||
opacity: 90% !important;
|
opacity: 90% !important;
|
||||||
}
|
}
|
||||||
.labelScore-style{
|
.labelRoundScore-style{
|
||||||
opacity: 100% !important;
|
opacity: 100% !important;
|
||||||
|
font-size: 25px !important;
|
||||||
|
font-weight: 500;
|
||||||
|
}
|
||||||
|
.labelTotalScore-style{
|
||||||
|
opacity: 100% !important;
|
||||||
|
font-size: 15px !important;
|
||||||
|
font-weight: 500;
|
||||||
}
|
}
|
||||||
.button-pos{
|
.button-pos{
|
||||||
padding-top: 10px;
|
padding-top: 10px;
|
||||||
@ -75,12 +151,10 @@ const GreenScore = ref(variables.GreenScore);
|
|||||||
.scorebox-1-pos{
|
.scorebox-1-pos{
|
||||||
padding-bottom: 15px;
|
padding-bottom: 15px;
|
||||||
text-align: center;
|
text-align: center;
|
||||||
margin:auto;
|
|
||||||
}
|
}
|
||||||
.scorebox-2-pos{
|
.scorebox-2-pos{
|
||||||
padding-top: 9px;
|
padding-top: 9px;
|
||||||
text-align: center;
|
text-align: center;
|
||||||
margin:auto;
|
|
||||||
}
|
}
|
||||||
.scorediv-style-red{
|
.scorediv-style-red{
|
||||||
background-color: #d42828 !important;
|
background-color: #d42828 !important;
|
||||||
|
@ -1,16 +1,24 @@
|
|||||||
export default {
|
export default {
|
||||||
// Gestion des score et des Buzzers
|
// Gestion des score et des Buzzers
|
||||||
RedScore: 9999,
|
|
||||||
BlueScore: 1321,
|
// Scores totaux
|
||||||
OrangeScore: 10,
|
RedTotalScore: 11,
|
||||||
GreenScore: 10,
|
BlueTotalScore: 22,
|
||||||
|
GreenTotalScore: 33,
|
||||||
|
OrangeTotalScore: 44,
|
||||||
|
|
||||||
|
// Score de la manche courante
|
||||||
|
RedRoundScore: 1,
|
||||||
|
BlueRoundScore: 2,
|
||||||
|
OrangeRoundScore: 3,
|
||||||
|
GreenRoundScore: 4,
|
||||||
|
|
||||||
|
//Etat des buzzer
|
||||||
BuzzerRed: false,
|
BuzzerRed: false,
|
||||||
BuzzerBlue: false,
|
BuzzerBlue: false,
|
||||||
BuzzerOrange: false,
|
BuzzerOrange: false,
|
||||||
BuzzerGreen: false,
|
BuzzerGreen: false,
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
// Ajoutez d'autres variables globales ici
|
// Ajoutez d'autres variables globales ici
|
||||||
};
|
};
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user