Hi BandB-
Excellent questions. For most canal cruise itineraries, the charter company will list both the number of cruising hours and the number of locks on your cruise. We have found these numbers to be very accurate, especially the ones from LeBoat.
For France in the summer, it stays light until well past 9:30pm, so your usable "day" is quite long. How long you stay in a particular port depends on what is there, and in many cases, for small towns or villages, a couple hours walking around and maybe a short bike ride is sufficient.
In our case, on our three charters before we bought our boat, we typically signed up for cruises in the 22-28 hrs per week range. We also didn't want to sign up for more than about 45 locks in a week.
Now that we own a boat, we average 17.5 hrs cruising per week, and typically move the boat 4-5 days per week. So we're operating in the spirit of 3.5-4.5 hrs per day, and staying put for a few days a week.
I would recommend that if your itinerary involves bigger cities (Dijon, Toulouse, Strasbourg, Auxerre, Chalon-sur-Saone, Epernay, etc.), you will definitely want to spend at least two - if not three - nights in each of those locations. For smaller towns like Clamecy (Nivernais), Digoin (Centre/Loire), Montargis (Loing), one or at most two nights is fine.
And apologies to anyone who takes offense at a crass commercial message, but my wife wrote the "Practical guide for European Canal Boat Charters" which will answer a lot of questions about rental cruising. The book is available in either eBook ($7.99) or paperback ($14.99) at
FrenchPressUSA.com. Hopefully I didn't offend anyone by posting this link
And your final question about how far apart the ports are, we find that we often stop one or more times a day while we're cruising, either to see something interesting (old church, chateau), or to grab a baguette, or to stop in a street market. It has been our experience that there are very few places where you will cruise for 4+ hours without seeing something of interest to go visit.
Cheers!
-Kent