I'm not an expert on the matter, but your case is very similar to mine, so I can tell you my own experience :
I have installed the @Stancecoke BMSBattery_S_controllers_firmware
on my KT ZWS motor controller with a KT LCD-3 display and also used it with the Android App ( developed by @Xnyle ) via Bluetooth. Now, about your questions :
1- Concerning this notes about the ZWS controller "You can disable FOC ... but the motor will not run with best efficiency in this case. Some energy will be wasted as heat."
--> Does it mean that this firmware give worst results than the original one ?
--> I know the answer "you can try" but from a more technical point of vue ? Is there a useffull answer ? Some one has tested it for a long period ?
On page 151 of this thread, you can read the reply @Stancecoke gave me about how to disable FOC in the code, before compiling and downloading the firmware to your KT ZWS ( you should also mark "disable interpolation" on the Java Configuring Tool
This does not mean you will get worse results than using KT stock firmware ( in fact, I would say the contrary!
). The problem is KT ZWS , unlike the BMS S06S / KT SVP
controllers, does not come with the phase current sensor, so you can not implement a FOC
to get a better efficiency ( by phase angle and power factor correction ). Remember that your original KT ZWS firmware does not implement FOC or any other kind of PF correction, as it is not bundled with the necessary sensor in hardware ( you can see the place for the sensor in the PCB is empty , so you can solder it if you want to use FOC anyway: more info here
2 - Do I have to write the firmware on the display too ? I think that not but I read some confusings posts for me.
At least in my experience, for using KT LCD-3 you dont need to change the original firmware that comes with it ( maybe you got confused with the Open Firmware for LCD-3 developed for other brand of controllers named TSDZ2 : see that project here
For KT controllers, you can select among 3 display options in the Java config Tool : KT-LCD3 , Kingmeter J-LCD , BlueOSEC App (not really a commercial display, but an android device instead, running the app and connected via bluetooth ).
3 - Does the informations displayed by KT-LCD 5 et KT-LCD3 remain the same after flashing the controller ?
Apparently yes... and you still use the push buttons to power on the system , active the LCD backlight and navigate throghout the menues and pages ... But in reality, after installing OSEC firmware ( and deleting original KT firmware ) the LCD-3 loses all its capabilities to set or change parameters values in the controller data memory: it mostly serves only as displaying unit ( actual speed, instant power, battery level, and not much more... ). I think you can still change assist level and wheel diameter but you can not change anything else except you connect with the Java Config Tool or the BlueOSEC App.
Offroad speed limit can be activated by a "cheat" that involves moving the brake lever in a special sequence to activate the offroad mode ( and after that , just keep pressing the brake lever for 5 seconds if you want to deactivate it).