This is the problem so many foreign language learners face though.
When you learn a language as a course of study, you learn the formal variant. Because of course you do, it's formal, it's proper, it's testable.
But most people don't speak the formal variant. Look at English - I mean, in the UK/Éire alone, there's so many different variants, dialects, accents, colloquialisms, vulgarisms, etc. You're really only learning the bones of it - and with that, certain verbs, adjectives, etc, that are the most 'common'. But if you think about it, a lot of ESL folks come to the UK with broken English, and it's only after a very immersive stay (given that a lot of Brits can't or won't speak other languages) that they get it right. So it's only to be expected that you'd need a fair old stay in France to get your French up to grade. And the British do like to twist or ignore a lot of the rules of "formal English" in order to stick with the vernacular.
I'm near fluent when it comes to reading and writing in French, but when it comes to listening and speaking it, I'm absolutely awful. I'd be even worse if it weren't for the French friends I have who help me out. I think the rhythm of conversation is a lot different to the literacy of it.