First off, it's not wrong of the client to refer to the admin side as back-end. It's actually fairly common terminology to call any aspects of a content management system that aren't publicly available the "back end." This confusion between the front and back end of a CMS and the front and back end of code may be a large part of the problem you're encountering.
If you need to explain the difference between front-end code
and back-end code
, try explaining that it's a difference in where the code exists.
To explain where the code exists, you'll need to explain the concept of a server. In explaining these concepts to ten-to-fourteen-year-old children (whom I assume have a technology skill level similar to your client), I've done this by saying something like:
You have a monitor [point to the monitor]. Usually it just displays the information on your computer here [point to the rest of the computer, or base of the laptop] but it can display information from any computer it's connected to [point to an ethernet cable if possible]. That's what the internet is; it's just a bunch of computers wired together where you can get information from any of them.
Some computers aren't used by individual people, and don't have monitors of their own connected. They spend all the time sending out information. We call them servers because they're like a servers in a restaurant. You ask the server for food and he gives you back whatever you ordered.
[I realize this analogy is inaccurate because the computer server is more akin to the restaurant chef, while the restaurant server is like whatever medium is bringing you the information, but I've found it's best not to overcomplicate things.]
Your computer asks the server for information, and it gets the right information from a database and sends it back to you. We call code on the server "back-end" code because it's like the back part of a restaurant. You don't see what's going on in the kitchen, but you know that they're pulling together the right food for you.
(At this point, you may find it helpful to explain the concept of a database. I've found it effective to say that it's basically just a large spreadsheet containing the information you need and to open up an Excel spreadsheet and fill in a couple of columns to demonstrate.)
So if you want to see a website, you type in the address of the website. That sends a request for information from that address out to a server, and it sends back the information you want, just like if you asked a server in a restaurant for a menu.
There's a big difference between a restaurant menu, and a webpage. On a webpage you have to be able to click on things to interact with them. You can do this because the server has sent your computer some code that tells the computer what to do when you click on various things. We call this code the "front-end" code.
On a website, when you want to know more about something, you click on it to request information. That's just like if you select something from a menu in a restaurant and ask the server to get it for you. The front end (menu/webpage) lets you request something (food/information) from the server.