Side caps worn by French troops during the Indochina War. The colours are according to the arm-of-service.
The origins of these caps came from WW2 when the Free French were clothed in British or American uniforms. The troops adopted coloured caps as a way to distinguish their nationality, starting in the Italian campaign.
The arm-of-service colours were definitely codified in 1946, often following the tunic cloth/facing combination of pre-1914.
From L to R : Sergeant of Transport Corps, Moroccan Spahis (Light Cavalry), Foreign Legion and Marines.