> [no] case law setting a precedent, they have civil law
"Civil law" is too restrictive a term for what you mean, and there certainly is a direct analogue to case law precedent.
Civil law ("droit civil") is simply the part of the law of France that deals with personal matters including contracts between private (non-state) entities; marriage, divorce, adoption, inheritance, and other family matters; landlord-tenant and other private property matters. The broader private law ("droit privé") includes employer-employee law, commercial sales law (advertising, warranty, and so forth), insurance law, shipping and transport law, manufacturing law (standards and practices) and so forth.
Public law ("droit public") includes criminal law ("code pénal"), constitutional law (which defines public bodies and their broad responsibilities especially with respect to human rights), and administrative law (which governs the powers of public bodies and provides recourse for adverse decisions and other private-party claims against such bodies).
Both types of law are codified in regularly-updated statute, and there are some eighty extant codes.
The codes are binding on all the courts, and a goal of the process of revision is to make the codes sufficiently comprehensive that they apply to practically all cases. Where codes are insufficient, the courts must of course make practical decisions anyway, and there they are bound by jurisprudence constante -- matters not yet codified should be as in accord with the code as possible, and subsequent decisions in similar circumstances should aim to be in accord, with a view to making it easy to amend the code.
Appeals decisions in France do not bind all the courts below in common to the ratio of the appeals court judgment. This is the "common" part of common law: it binds all the courts within the same jurisdiction, with statute overriding other sources of law. In France, the statutory codes are the overriding source of law, but all courts are bound to aim for predictable, stable justice, even if that (seemingly paradoxically) means disagreeing with a previous judgment of a senior court. The Court of Cassation in France reviews questions of law and procedure, with the goal of ensuring that the interpretation of the law is uniform throughout France. This is somewhat like restricting itself to dealing with "circuit splits" in the United States's federal court system, but not driven by the facts of the cases in question as opposed to whether the code was applied at all, and what was done to maintain jurisprudence constante.
In common law jurisdictions, typically one typically must "distinguish" a case in a lower court from a precedent set by a higher court, and hope that the distinguishing is either not appealed or survives on appeal. However, in the French system, when faced with a series of similar cases and an argument that this forms jurisprudence constante, one may still persuade the court that an exception is justifiable. The most important difference is that one decision by a higher court can trigger a requirement to distinguish in common-law systems, whereas in French law formally only the codes themselves are binding in the strict sense.
Note that there are codes in many common-law jurisdictions, examples include the Criminal Code of Canada, the Uniform Commercial Code in the USA, and so forth. These consolidate into single codes what historically (and still in England & Wales; Scotland has a much more Roman law system than E&W) appears scattered across several Acts of the legislature. However, even in England & Wales statutes are updated from time to time to reflect results in the courts; most common-law jurisdictions have some form of law commission which proposes amendments (and sometimes consolidations) to the legislature to effect this in a non-partisan manner. This is almost exactly how the codes in French law and similar systems are updated over time, too.
While there are surface differences between French law and Irish law (which is similar to English law for historical reasons), statute law -- the codes, in essence -- have been converging as the European Union has evolved. Consequently, I think there is an argument that the main difference between the system of (non-constitutional) law in the USA (and the several states) and the system of (non-constitutional) law in France is in the historical policy choices of the respective legislatures, and the differences in political and legal cultures. There are sharp differences between the political and legal cultures of the USA and England and Wales, or Canada, too, and these bubble up into the judiciaries rather than being driven by them.