France gears up for new battle: Macron v Mélenchon
There were times, during the elections here five years ago, when President Emmanuel Macron would sound almost messianic about the potential of his political party and his project for France.
This time around, with run-off votes for more than 570 parliamentary seats due on Sunday, his comments have the feel of a doomsday warning.
"Nothing would be worse than losing ourselves in blockages, and adding disorder in France to global disorder," Mr Macron said this week.
Last Sunday, a new green-left alliance finished neck and neck with Mr Macron's allies in the first round of voting. If they continue to do well this weekend, they could deny the president a majority in parliament, making it harder for his government to act.
"For most of my life, I've been voting for the lesser of two evils," 31-year-old Romain told me at a rally in Toulouse. "Now finally, for the first time in my life, we have a big alliance on the left and it's exciting."
The new alliance, called Nupes (New Ecological and Social Popular Union) brings together Socialists, Communists and Greens under the leadership of France's far-left leader Jean-Luc Mélenchon.
They're focusing on climate change and social solidarity, though many of their members openly admit to big policy differences on other issues.
Analysts say they're highly unlikely to win a majority themselves, but Nupes candidate in Toulouse, François Piquemal, insisted that with more than 400 candidates running in the second round, nothing was impossible.
"Mathematically it's possible," he said. "And in politics, from the moment things are mathematically possible, we can achieve them. Three months ago people thought it was impossible for all the components of the left to come together behind a common programme. That is what's happening today."
It's the kind of zeal that gripped Mr Macron's candidates last time. And even gains short of a majority could still spell trouble for Mr Macron's government.
"They are going to be loud," Edouard Lecerf, deputy director of polling institute BVA, told me. "They are going to be able to slow things down. Nupes is going to make noise."
Nupes is predicted to win between 150-200 seats. Some government candidates have already pointed to the "trouble" and disruption caused by Mr Mélenchon's 17 MPs in the last parliament.
"They write lots of amendments on the laws," explained Marie-Claire Constans, the government candidate running against Mr Piquemal in Toulouse.
"That blocks the work of the assembly, because you have to spend so much time talking over them, and then they say it's our fault Mr Macron didn't do what he said he was going to do."
"It's called democracy," François Piquemal quipped.
The race between these two candidates here in Toulouse is a stark reminder of how well Nupes is doing in this election.
Five years ago it was Mr Macron's allies who led the first round of voting in most of the region's constituencies; now Mr Mélenchon's candidates are leading in 80% of them.
"It's quite tough," Marie-Claire Constans told me. "My opponent secured twice as many votes as I did in the first round. He's benefiting from Mr Mélenchon's campaign - a very noisy, very loud campaign. And somehow left-wing people are buying it."
"[Their supporters] believe they're going to stay together," she continued. "But the first day they're elected they're going to split their own ways."
Pollster Edouard Lecerf says it's hard to predict how the new alliance will respond to the rough and tumble of parliament.
"I don't know if Nupes MPs are going to act like cats who need herding," he told me. "Or like sheep, following what someone says; or dogs who just bark all the time. Maybe a mix."
"I don't want Playmobil MPs," Mr Mélenchon told Le Parisien newspaper. "That's what killed Macron."
The personality and rhetorical flourish of France's far-left leader is part of his coalition's success so far.
He came a close third in France's presidential race earlier this year and has harnessed that energy for the parliamentary elections - telling voters that he wants to be prime minister, though he's not running for a seat himself.
These 577 mini-elections across France can sometimes feel like one giant battle between two personalities: Mélenchon and Macron.
Politics here may have changed in the past five years, but it still hasn't settled.
In just a couple of months, between the presidential race and the parliamentary one, the pendulum of opposition has swung from far right to far left, from Marine Le Pen to Jean-Luc Mélenchon.