Paris (AFP) - Students and workers clashed with police in several French cities on Thursday during angry protests over labour reforms that drew nearly 400,000 people.

Striking rail workers disrupted services across France in protest at the proposed reforms while students forced the closure of some 200 schools.

Riot police used tear gas against stone-throwing demonstrators in the western cities of Nantes and Rennes, while around 100 people were arrested after clashes in Paris, Toulouse in the southwest and elsewhere.

Official figures said 390,000 people had braved heavy rain to join demonstrations around the country -- twice the crowds that turned out a week ago -- while unions put the figure at 1.2 million.

The clashes came a day after President Francois Hollande was forced into an embarrassing U-turn over constitutional changes.

Adding to the president's miserable week, dozens of flights were cancelled due to a separate strike by air traffic controllers.

The Socialist government is desperate to push through reforms to France's controversial labour laws, billed as a last-gasp attempt to boost the flailing economy before next year's presidential election.

But it has faced a wave of often violent protests by unions and students angry over plans to make it easier for struggling companies to fire workers, even though the reforms have already been diluted once in a bid to placate critics.

Hollande's government was still reeling from his decision Wednesday to abandon constitutional changes that would have allowed dual nationals convicted of terrorism to be stripped of their French citizenship.

The measure had been derided as ineffective and divisive, including by leftwing rebels within the Socialist party, but Hollande's critics accused him of yet another humiliating climbdown.

- Least popular president -

Already the least popular president in France's modern history, Hollande's numbers continue to fall, with a poll Thursday showing his approval rating at a new low of 15 percent.

Story continues

Another poll on Wednesday showed he would not even reach the second-round run-off in the presidential election.

Hollande, 61, has vowed not to run again if he cannot cut the country's stubbornly high unemployment figures -- long stuck at around 10 percent -- and he hoped the labour reforms would encourage firms to hire more staff.

Pressure from the street and parliament's back benches caused the government to water down the proposals two weeks ago so that they apply only to large firms.

Some reform-minded unions have backed the changes, but the unions behind Thursday's protests said in a statement: "Clearly, this bill will not lead to the necessary job creation, will make insecurity more widespread and will deepen professional inequality, notably for women and young people."

A recent opinion poll found 58 percent of the public still opposed the labour reform bill.

Joblessness is nearer to 25 percent among the young, with many stuck in an endless cycle of short-term contracts and internships.

"Look at your Rolex, it's time for an uprising," read a poster brandished by one student.

- 'Not a blank cheque' -

Bosses are also unhappy with the reforms, particularly over the removal of a cap on compensation paid for unfair dismissal, and the scrapping of plans that would have allowed small- and medium-sized companies to unilaterally introduce flexible working hours.

Labour Minister Myriam El Khomri said: "I hear the worries of the young" but argued that the reforms were "necessary and just".

Parliament is to vote on the reforms in late April or early May.

Aviation authorities told airlines to cancel 20 percent of their flights from Paris' Orly airport on Thursday and a third of flights from the Mediterranean city of Marseille as air traffic controllers went on strike again.

Paris' Charles De Gaulle airport was not affected by the 36-hour walkout over job cuts and a lack of investment in new technology.

The Airlines for Europe lobby group said it was the 43rd strike by French air traffic controllers since 2009. It was due to end at 5:00 am (0300 GMT) on Friday.