As is often the case in France, it’s complicated.
Basic paid leave for a CDI/cadre (full time employee) is 25 business days.
On top of that there is RTT. This is because we have a 35 hour work week. In order to the more typical 40 week, you get those hours back as more paid leave - 10 days.
On top of that there national holidays, of which there are plenty. Most of these revolve around food from what I can tell (I’m a Brit, I just live in France). If those national holidays fall on a weekend, you lose them though, which sucks, but even a bad year is pretty good.