Hi Lobster, happy to see that those pages are useful to some of you : param.html, jlr.html, charge.html. They are greatly inspired by the fantastic job of Ardevd and his python library to access the JLR servers, that I rewrote in Javascript in order to run natively in a browser. I also wanted a 'universal' app that gets rid of the Android/IOS barrier. The browser and Javascript allow me to do that. So, no, the app does not talk to the car, it talks to the JLR servers just like any official or not offical IOS/Android apps.
I don't know how the IP stack works in the car, but even if I connect the car to the home WIFI, it seems that I can't access any home computer on the same subnet (192.168.x.x).
I have not try hard yet to expose some internal info from the browser, and I don't know if there is a secret local server hidden in the infotainment system. Should be easy to "scan" in Javascript.
The infotainment system is a closed system and I can't imagine that you can install anything in it like a phone. The only think you can do is develop a web page that display the info you want. This is pretty much how far you can go.