I've made a lot of software modifications.
First all programs are now started at the robot start. I've used "supervisor" :
the robot program is divided into 3 parts that communicate with each other via various protocols: HTTP, Serial data, websocket, ...
robot_cam is a module for managing the streaming of the camera. it supports the mjpg format and can manage the entire video stream. This part is written in C and is partly based on mjpg-streamer.
robot_web is a module written in python which allows to manage the web server, the display of pages, the management of websockets, files, and various actions such as sending a "sudo" command to the system layer. A reboot, or the restart of the robot's services are thus possible directly via the web interface.
robot_core is a middleware written in C that allows to link all the robot systems. It is multiheaded and can self-correct during operation.
The web interface allows to read and perform basic operations such as :
Stop or restart the robot,
Restart a service,
Take a picture, view and download the photos.
The control of the robot is done via nipplejs.
Thank you !!