Protesters march across France on Thursday as unions, students and workers join a nationwide day of strikes over wages and the cost of living.
Authorities describe the authorized processions as largely peaceful, though tensions flared in several cities.
The unrest traces back to mid-September, when students began demonstrating against conditions in French public schools. Their complaints focused on education funding and staffing.
What began as a school-based movement has continued for weeks, drawing in other groups across the country.
The student movement later merged with wider anger over living costs and inequality. That frustration erupted into the country’s worst rioting in years on Oct. 17, leaving shops and public buildings damaged across France and drawing criticism of how the government handled the unrest.
Allegations of police brutality followed the October clashes and prompted internal investigations, with several teenage protesters seriously wounded.
Authorities have since imposed curfews, banned large gatherings and required marchers to take routes away from major boulevards, measures the unions have denounced.
Unions representing teachers, rail workers, hospital staff and postal employees called Thursday's one-day strike, with some energy workers joining. The strikers demand a higher minimum wage, raises for all workers, changes to the tax system and better conditions in schools.
The protest action came five months ahead of elections to replace President Emmanuel Macron, with the far right leading opinion polls.
Polls suggest Marine Le Pen is the front-runner and could face Jean-Luc Melenchon in a runoff, which places the strike close to the election campaign.
Interior Minister Laurent Nunez had promised “an extremely firm response” to any violence, and 70,000 officers were deployed nationwide.
Marches began that morning in Lyon in the southeast, Marseille on the southern coast, Nantes in the west and other cities.
The Eiffel Tower and the Arc de Triomphe closed for the day, though transport was largely unaffected.
The Ministry of National Education put teacher participation at about 16%, while the SNES-FSU union said 52% of middle and high school staff struck.
The Higher Education Ministry reported disruption at 60 of 184 institutions.
In Paris, the mood was initially festive. After the main march set off in the afternoon from Place de la Republique, a diverse crowd sang the national anthem, “La Marseillaise,” as carnival-style floats rolled through the streets.
Jack Eisner, a Sciences Po student in Paris, told Al Jazeera that people are protesting because they feel their “future is at stake.”
In Lille in northern France, history student Hugo said workers are angry about low wages and rising costs, and that universities and high schools lack public services.
Lea, a 31-year-old social worker in Marseille who gave no last name, told the Agence France-Presse (AFP) news agency that her basket of 20 items has become too expensive and that she wants cheaper groceries and petrol.
She said the movement has given her hope. Jean-Marc Morel, 60, described a joyful, diverse crowd.
CGT Secretary-General Sophie Binet called the strike “extremely effective” and told the Paris crowd “Nothing will stop us,” urging wage increases for all workers and a 10% rise in the minimum wage.
Presidential candidates Jean-Luc Melenchon and Raphael Glucksmann also attended the marches.
About two hours into the Paris march, some protesters at the front clashed with police, who fired tear gas. Police said hooded individuals damaged property.
In Lyon, riot police faced several hundred so-called “black bloc” protesters, and at least one vehicle was set on fire, the Interior Ministry said.
Police also intervened against student blockades in several cities, including Paris and Bordeaux in the southwest.
Several high schools in the Paris area were damaged, and one in the city center was set on fire, regional authorities said.
At 6 p.m., the ministry counted 448 arrests, 53 injured officers and 86 fire incidents.
Turnout figures differ widely, with the ministry reporting 575,000 people nationwide and the CGT nearly 1.6 million.
Prime Minister Sebastien Lecornu has announced a “social conference” with unions and employers at Matignon, his official seat, on Monday. Young people in Germany, Spain, Greece and Italy have staged similar protests in recent weeks.