Cycling

Cycling across France – from Lille to Marseille

As a fan of the Tour de France, I had always hoped I’d get to see a stage in person one day. Going on vacation in the middle of July, which, for Yelp at least, is the start of H2, the kickoff of annual planning, and the end of a promotion cycle, was never really a great idea, though. Somewhat unintentionally, my career break ended up being timed perfectly to do this in 2026. But, now that I found myself with a lot of free time, why travel 12 hours just to go see a single stage? Why not do some biking as well? Oh, and see several stages?

Before I start, a couple of quick notes:

  • By default, distances, elevations, and temperatures below are shown in imperial units. If that offends you at the core, click on any of them to change everything to metric. The setting will stick if you come back to this page later or to any other post.
  • Some of the photos below are Brian’s. If you’re wondering “well, which ones?”, it’s going to be the nice ones, obviously.
  • A few folks have asked how you go about planning a trip like this, so I’ll see if I can jot down some notes on the process in the future.

Now, after 2 months of staring at Strava’s route builder, Google Maps, Airbnb, SNCF timetables, and the Tour’s website, the result was a 1,011.6 mi north-to-south trip from Lille to Marseille. Included in the route were 3 iconic climbs, Butte Montmartre, Alpe d’Huez, and Mont Ventoux, for a total elevation of 40,810 ft. Spoiler alert: the final tally was 1,040 mi with 46,997 ft of elevation due to a couple of detours and an extra go at Alpe d’Huez.

Naturally, I had to make a Tour-style map, which was a fun exercise in learning vector-based graphics in and of itself:

Along with the map, I built out profiles of each of the 12 “stages”, borrowing liberally from the Tour de France’s 2026 Roadbook for colors and styling (sorry-ish, ASO). As an aside, if you’re ever looking to do something similar, there are a couple of really useful tools:

  • GPS Visualizer converts a GPX file, such as an export of a Strava route, to a SVG. If your GPX file has multiple routes combined as individual tracks (i.e., <trkseg> sections), that SVG will have each part of the route as a separate layer, which is way easier to work with than one single vector. That’s what I used to create the route on the map above.
  • Elevation Pro by FabsGarage converts a GPX file into an elevation profile with the key climbs marked. It’s a bit hit-or-miss on the names of the climbs and what it decides to mark, but you can edit them before exporting. Elevation Pro is what generated the stage profiles below, along with a good amount of post-processing on my part.
  • svgcanvas (specifically, the issue-fill-branch) to get an HTML canvas exported as a SVG. Unfortunately, Elevation Pro above only exports PNGs. I wanted to keep everything as vectors so that I wasn’t losing resolution at larger sizes. This library, which you need to inject into a browser tab with Elevation Pro, lets you export that elevation profile as a SVG.

One key aspect of such a trip is how to carry all of your stuff from town to town. The traditional bikepacking style is to store it all in various bags attached to your bike (i.e., this). Needless to say, I’m not a big fan of the “wear the same kit for 5 days without showering” approach, so, even without a tent/sleeping bag, I still had quite a bit of clothes and spare parts to carry (which, as it turns out, would be very useful to have later on in the trip). Luckily, Brian agreed to drive our “team bus” with all of our bags so that I didn’t have to go up Mont Ventoux with all of this stuff hanging off my bike.

And by “team bus”, I mean our bright orange Renault Clio with a very temperamental tire pressure sensor:

Stage 1: Lille → Compiègne

Distance: 108.27 mi • Elevation gain: 2,582 ft

The stage 1 route was a great way to kick off the trip: absolutely pancake-flat across mostly farmland with a glorious tailwind the whole way. My Garmin only called out 2 climbs over the entire 108 miles, and both of those were over before they even started.

Unfortunately, stage 1 is also where I, somewhat painfully, learned that doing zero heat training was not conducive to riding in 95 °F heat with 80-90% humidity. The lovely people at our hotel in Compiègne freaked out when they saw me soaking wet lying on the ground in the shade, which meant I got to meet the sapeurs-pompiers. The most amusing part of that whole affair was when, after I said I was fine and didn’t need to go to the hospital, they felt obligated to remind me that, unlike in the US, it wouldn’t bankrupt me to go to the hospital. Glad to know the US healthcare system’s reputation is well-established globally.

Needless to say, I threw out my carb-heavy nutrition plan (i.e., 2 Skratch Super High-Carb mix bottles) and switched exclusively to electrolytes/water for pretty much every stage after this except the 2 big climbing days. Coconut water is usually my goto for replenishing electrolytes quickly, but there was apparently a nationwide shortage of it in all of the stores at this time; I never quite figured out why, but it could have been due to the ongoing heat waves. Instead, I discovered PRIME hydration drinks and quickly became a fan.

Stage 2: Compiègne → Vincennes

Distance: 66.59 mi • Elevation gain: 2,799 ft

At first glance, this route looks like a roundabout way of going between Compiègne to Vincennes, but that’s because I wanted to go through Paris. The initial idea was to go down the Champs-Élysées and around the Arc de Triomphe similar to the last stage of the Tour. I scratched that plan, however, when I realized I was going through Paris on July 14 (i.e., Bastille Day), which meant I would have a battalion of army tanks pointing at me down the Champs. To keep with the Tour spirit, I instead went up the Butte Montmartre. Somewhat expectedly for the middle of July and on a national holiday, it was pretty crowded with tourists and cars/delivery trucks. I went up twice to see if I could make it without having to stop or detour, but then it was getting a little too hot to keep trying 1.

Biking through Paris wasn’t as bad as I expected. Sure, there are cars everywhere, and you end up in roundabouts with 4 lanes of traffic. But there are also mopeds, cyclists, and pedestrians everywhere, so I found drivers tended to be aware of their surroundings. They also generally seemed to slow down or stop for cyclists rather than speed up to overtake them. I wouldn’t plan a route centered on Paris, but I had debated skipping it this trip for fear it would be absolute madness and was glad I didn’t do so.

In terms of places to stay, Vincennes was significantly nicer than Paris. It’s very close by to Paris but without said 4-lane roundabouts. Highly recommend the Appart Hôtel Victoria, where the owners were super nice to give us a ground floor room that was large enough to store my bike in.

Stage 3: Vincennes → Troyes

Distance: 109.63 mi • Elevation gain: 2,815 ft

The latest European heat wave hadn’t yet let up, so I started at 6:30am instead of 7am given the long day ahead. Provins ended up being the perfect lunch stop. In addition to being a beautiful city with lots of historical architecture, it has a shaded square with a large water fountain that gives off a nice cooling mist. Pro tip: soaking your gloves in cold water is a very effective cooling technique. The last 25 miles of this route were on the Voie Verte du Canal de la Haute Seine, a flat, often shaded bike path along the, surprise, Canal de la Haute Seine. Unfortunately, my rear tire had said “enough!” after the broken glass and cobblestones of Paris the previous day, so my bike ended up covered in sealant. I still made it to Troyes with only 30 psi holding that tire together.

Lessons learned on this day:

  • Plastic valve core removers are unreliable. I switched to Clik valve cores a while back after realizing that whoever invented Presta valve cores hates the world. Unfortunately, I didn’t pack the metal valve core remover they come with, only the plastic one that was in my saddle bag. Shout out to the little hardware store in Troyes that had a multitool with a set of pliers to get that thing off so I could top off the sealant.
  • Don’t buy Shimano cleats on Amazon. Before the trip, I had installed a new pair we had bought on Amazon a while ago, and those disintegrated in 3 days. I’m pretty sure they were knockoffs, but the packaging looked authentic to me. I switched to a non-Amazon spare set that I had packed (remember all those spare parts I said I was bringing?), and those are still going strong weeks after the trip.
  • Get good at carrying your bike through narrow hallways and up 3 flights of very narrow stairs. I’ve never really cared how much my bike weighed until now and was very glad it wasn’t a touring bike.

Stage 4: Troyes → Dole

Distance: 133.83 mi • Elevation gain: 4,147 ft

Longest stage of the entire trip. The first 4 days of the trip were intentionally back-to-back long days, covering 418.32 miles, to get us from Lille in the north to Dole in the mid-east just when the Tour was getting there. They were relatively flat, though, so it was mostly about contending with the heat in what were primarily exposed farm roads. Fortunately, the humidity was finally starting to drop a little now. Somehow, this route also ended up with a (slightly cooler) headwind perfectly aligned the entire way, which is pretty much the only time I’ve been happy about a headwind. After the lunch break in Provins during stage 3, I started doing that regularly for these longer days as a way to cool down in the shade, grab some cold water, and refuel with solid food. Bay Area-me is still confused that I got 1,5l & 50cl water bottles, a can of Sprite, and a sandwich for €4 in Marcilly-sur-Tille.

Now that we had caught up with the Tour, Dole was the first rest day of the trip. We were staying an extra night to watch the start of Stage 13 of the Tour (Dole → Belfort). I had booked our Airbnb before the map of each stage was published, so I wasn’t sure exactly how far we’d have to walk to see the start; my general approach with Airbnbs was to book them as close to the center of town as possible. Luckily, the route passed quite literally in front of our Airbnb (as in 4 ft from the front door), which was very convenient since there’s about a 2-to-3-hour gap between when the caravan passes and when the riders actually start. We got to see Tadej and Jonas chatting it up!

Stage 5: Dole → Champagnole

Distance: 39.71 mi • Elevation gain: 1,969 ft

After the longest stage of the trip, we get the shortest one of the trip. This was a quick hop to get us to the start of Stage 15 (Champagnole → Plateau de Solaison). The temperatures and humidity had finally started to drop as the heat wave wrapped up and as we got closer to the Alps. Despite all of the turns in this route, I somehow had a tailwind the entire time, which is some sort of miracle that does not exist in the Bay Area.

Champagnole is a cute little town. It doesn’t have the large pedestrian-only area like Troyes and Dole, but its main thoroughfare has large sidewalks with shops, restaurants, and bars all along without a ton of cars cutting through it (at least when we were there). Given the short distance to cover from Dole, I got to Champagnole as the large Saturday market was still taking place. Almost ended up buying an early LP of Elton John until we realized there was no way we’d get that home in one piece. Highly recommend checking out La Grange aux Pains!

Champagnole was also the first town where we got tickets to the Tour de France Village. For the most part, the Village is a significantly overpriced area for small bites and drinks, access to the jersey sponsor spaces, and other memorabilia. It’s also apparently where Mark Cavendish hangs out as he follows the Tour since we kept running into him. The biggest plus for us was access to the paddock before the start of the stage. That is absolutely worth doing once since you get to walk around the team buses and cars as the riders are getting ready and the mechanics are doing final checks.

The paddock in Champagnole was also easy to walk around because it was one large parking area that was close to the start of the race. As we found out later, that’s not always the case depending on what the city/town has to offer. The Tour brings with it some 1,000+ vehicles, including some 40+ team buses, so it completely takes over these small cities and towns when it passes through.

Stage 6: Champagnole → Évian-les-Bains

Distance: 88.8 mi • Elevation gain: 5,607 ft

The route finally leaves the farmlands for the forests and mountains. That means more shade, which, ironically, wasn’t as important anymore because the latest heat wave had ended and we were also entering the Alps, which are always cooler than the rest of France. There are some truly stunning landscapes as the roads weave in and out of valleys and mountains. Also amazing on this route was the 20 mile descent from Saint-Cergue to Geneva… with the exception that I was stuck behind a driver that was apparently terrified of, uh, driving.

This is also where I found out that Garmin’s definition of “Western Europe” for its maps does not, in fact, include Switzerland. If your Garmin ever gets stuck calculating the route when you’re loading it, it’s probably because it’s missing part of the map somewhere. I didn’t realize that when I left in the morning, so it was a nice surprise once I got to Switzerland. You still get the route line; it’s just the only thing on the screen. So I navigated through Switzerland entirely by keeping that route line straight on my Garmin. Surprisingly, that worked. Who needs maps anyway?

Don’t miss the Rue Nationale in Évian-les-Bains, which is the city’s pedestrian-only spot with all of the bakeries and restaurants.

Like Dole and Champagnole, we stayed an extra night in Évian-les-Bains to see the start of the individual time trial, Stage 16, from Évian-les-Bains to Thonon-les-Bains. We also had access to the Village here, which confusingly was a 30-min walk away from the start. In addition to being on an uphill slope away from Lac Léman, Évian-les-Bains just has far less open spaces than Champagnole to welcome 1,000+ cars and buses, which became even more obvious when we went to see the paddock. The teams were set up horizontally along a narrow street, with the cyclists having to bike along that street and through the crowds to make their way down to the start of the time trial (not to mention their team car following behind them). Kudos to the riders, mechanics, and especially team bus drivers for making that work!

If you ever catch an individual time trial in person, it’s worth getting the start list since it’s a 5-hour event from the first rider to the last. Our Airbnb again ended up 900 ft away, so we were able to come-and-go throughout the day.

Stage 7: Évian-les-Bains → Voiron

Distance: 121.88 mi • Elevation gain: 5,640 ft

This was the most ambitious stage since the goal was to get to Voiron, 120 miles away, before the pros got there as part of Stage 17 (Chambéry → Voiron). Timing-wise, that shouldn’t have been an issue since I was leaving at 7am, and they weren’t starting the 109-mile route until 1pm (narrator: it would, in fact, be an issue).

I had forgotten that they close the roads at least an hour before the caravan comes through, which itself is about 2-to-3 hours before the riders. So I hit the road closures in Charavines about 8 miles from Voiron. Weirdly, the gendarmes are fine allowing you to walk with your bike on the empty, closed road (even in the middle of it), but they absolutely do not want you riding said bike. Suffice it to say, I got yelled at by a couple of gendarmes for “walking” clipped in. Eventually, I found a detour with a steep little kicker to get around the closures back to the route to Voiron. Even with all that, I still got there 2 hours before the sprinters showed up, so maybe it wasn’t that ambitious after all.

Other than the unexpected road closure, the route was beautiful, with a bunch of it on dedicated bike paths along rivers, including the ViaRhôna that would show up again multiple times. I had the most delicious mid-ride meal of the entire trip at a café along a bike path that made a croque-monsieur the size of my head. The least enjoyable part was getting through and out of Geneva, where you need to navigate across a ton of road construction that randomly cuts off bike paths and over tram rails that love to swallow 28mm tires for funsies. Luckily, I had updated my Garmin maps in Évian-les-Bains, so at least I now had a Switzerland map to follow.

Getting a good view of the sprint finish turned out to be harder than we expected. We underestimated when folks would start lining the barricades, so it was absolute mayhem once we headed out about an hour before the riders got in. The last 1,000 ft or so are also blocked off for VIPs and broadcasters as visible across the street in the photo below. The sidewalks in Voiron are narrow generally and not equipped for the number of people trying to watch. While Voiron is close the Alps, the town itself is relatively flat, so there weren’t any vantage points to see the finish from above (unless, I guess, you happened to be in the bell towers of the city church). All that said, if you blink, you’ll miss the sprinters anyway, so it was still fun to just be in the overall buzz of a sprint finish.

It was also a nice bonus to be there to see Jasper Philipsen finally get out of his sprint rut and decisively win the stage. That’s MvDP finishing his leadout below with the rest of the sprinters about a second behind. I may have been hanging off a lamppost to get this shot.

Stage 8: Voiron → Alpe d’Huez

Distance: 58.48 mi • Elevation gain: 5,807 ft • Plus another 17.87 mi and 3,655 ft for the second Alpe d’Huez climb

The first big climb of the trip: Alpe d’Huez. It wasn’t my best climbing effort, unfortunately: I was still feeling the 7-hour ride from yesterday, I hammered the 45 miles to the start of the climb to get there before it got hot, I did 1 mile of the climb before realizing my Garmin was paused (so, of course, I went back down), and there were an insane number of cyclists, cars, trucks, and buses to navigate around.

Having said all that, the energy on the climb itself is unlike anything I’ve ever seen! Fans who have been set up for days along the side of the road cheer everyone on, and you have hundreds of cyclists of all fitness levels and with a wide array of bikes, including 2 folks on wheelchairs, doing the climb together. Absolutely worth experiencing at least once!

I’ve done Alpe du Zwift, its virtual counterpart on Zwift, several times, but I actually found the real climb easier and way more enjoyable. Being able to pick your line at each of the 21 switchbacks helps a lot. It was also a nice plus that both the temperature and humidity dropped the farther up I got, which is usually the opposite of what happens on an indoor trainer.

We stayed in Alpe d’Huez for 2 days, the longest break of the trip, to see Stage 19 (Gap → Alpe d’Huez) and Stage 20 (Le Bourg d’Oisans → Alpe d’Huez). The mountain-top finish meant we actually got to see the riders a bit more since they were spread out and not going 50 mph.

Before Stage 20, I decided to give Alpe d’Huez another go. The crowds had mostly dissipated since Stage 20 wouldn’t be going up the full Alpe d’Huez, but the road was still fully closed to traffic other than the Gendarmerie (and we all know I’m best friends with them now, right?). I was trying to get sub-1 hour, and I was happy to get there 2. The light rain midway through had a welcome cooling effect, and, other than a “peloton” of Gendarmerie cars early on, I saw basically no other vehicles until the very end where trucks were adjusting the barricades for Stage 20. Fun fact: I kept wondering why my rear derailleur was so loud on the way up, only to realize afterwards that the derailleur hanger was half unscrewed from the frame. Tighten those derailleur hangers, folks.

Stage 9: Alpe d’Huez → Valence

Distance: 102.65 mi • Elevation gain: 1,165 ft

After Alpe d’Huez, it was back-to-back days to wrap up the trip in Marseille. The rest days throughout the trip had been structured around watching Tour stages, but, with the Tour off to Paris for the final Stage 21, those weren’t needed anymore 3.

This was a fast, downhill route for the first 60 miles, primarily on dedicated bike paths. Even after the Alpe d’Huez descent itself, it remained mostly downhill. I left early again to avoid getting stuck behind a bunch of RVs and buses making their way down the Alpe, and I was glad to do so because the one bus I got stuck behind brought traffic to a crawl as it tried to navigate the hairpin turns with a trailer attached.

The only downside to this day was that it was also pouring rain for 40 of those first 60 miles, which is also why I only took 2 photos the entire ride. Even though I had a rain jacket packed, I didn’t actually need it since it was still pretty warm and humid. However, I was glad I had invested in a water-resistant handlebar bag and saddle bag, both of which worked pretty well in terms of keeping everything inside them dry. With the bike paths and small roads along the route mostly deserted due to the rain, this made for a fairly fast ride.

There’s an amazing bakery, Boulangerie Maison Boulangeat, in Saint-Romans that is a great stop despite being in the middle of nowhere, really. And, even though Orangina makes an appearance in many of my photos, I am sadly not sponsored by them (but, hey, if they’re reading this, give me a call).

Stage 10: Valence → Bédoin

Distance: 87.47 mi • Elevation gain: 2,520 ft

This day turned out harder than it should have been based on the distance and elevation. My guess is that I just didn’t eat enough the previous day to properly recover after going hard through the rain for so long, so I blew right through my energy reserves. Easy solution: stop at a bakery at 9:30am for lunch. Or at least a first lunch. My eating schedule would gradually approach that of a hobbit.

The route stopped in Bédoin primarily so I could start early on the Mont Ventoux climb the next day. Even though we were there only for one night, Bédoin is a charming town itself, especially with its massive Monday morning market that brings tourists from all over (apparently 90% of which are Dutch from what I could tell). It’s also overflowing with cyclists in the summer given the iconic climb.

Another first on this ride: a bike path that passes right next to an active nuclear power plant.

Stage 11: Bédoin → L’Isle-sur-la-Sorgue

Distance: 47.07 mi • Elevation gain: 5,581 ft

Biggest climb of the trip: Mont Ventoux with 5,149 ft of elevation. Again, I found it easier than Zwift’s Ven-Top route, although the last 2 miles, where it kicks up to 9-12% to the top, are definitely tough. If you’re doing this climb in the summer, I absolutely recommend starting early to avoid the heat and the swarm of cyclists that show up later. Even though there aren’t too many cars, it still gets a bit dodgy when they’re trying to overtake cyclists around blind corners.

I got on the bike at 6:45am, which is basically when I started the climb since our Airbnb was right next to it. You might even say it was too close to the climb; I had to do a quick lap around the town to warm up since the start was essentially a 1-minute walk away from the front door of our Airbnb.

Photos really don’t do the view at the top justice. It’s truly breathtaking, especially on a clear day. I also lucked out on the timing by getting there shortly before a paraglider took off, although it was unclear if he was going to make it for a bit there when he swung towards the tower.

And, no, neither I nor Brian spray-painted my name on that sign; I’m fairly certain that’s for Yoann Offredo, who is a retired French cyclist. But it was still a nice sight on the way up.

I picked l’Isle-sur-la-Sorgue somewhat randomly as a stop along the way to Marseille, with some help from Claude to avoid ending up in a tiny village with nothing going on. It turned out to be a great spot with a beautiful city center surrounded by canals and waterways. The Sorgue river cuts down the center of town, and they built canals to divert it into a circle around what is now the old town. There are tons of antique markets, especially along l’Avenue des Quatre Otages and l’Avenue de la Libération, where you can buy a life-size Mario figure if you want.

The only bummer to our visit was that another heat wave was just starting up in France/Europe at the time. Since we were now out of the Alps and pretty far south, the city was basically a sauna. Many restaurants have outdoor misters on their covered terraces, though, which was very effective at cooling.

Highly recommend the Grand Hôtel Henri as a place to stay. They held my bike securely while we toured the town before our room was ready, and they upgraded us at no cost when we came back since our room still wasn’t ready (even though we were still there before the official check-in time). The building and rooms are also beautiful, including their shaded outdoor terrace.

Stage 12: L’Isle-sur-la-Sorgue → Marseille

Distance: 57.85 mi • Elevation gain: 2,710 ft

Final leg of the trip. While technically Mont Ventoux the previous day was shorter distance-wise, the route to Marseille was 2,710 ft instead of 5,581 ft, which made for about the same riding time. There was a surprising little kicker halfway through that I hadn’t expected 4: Montée de Charleval or Mont Trésor, depending on where you look. On the plus side, the road is closed off to cars at the start, so it’s peaceful and mostly shaded while you’re dealing with 7-10% gradients.

Marseille was definitely the worst city to bike through over the entire trip, which is saying a lot when that includes going through Paris. There weren’t many bike paths/lanes on busy roads, they would randomly stop when there were some, and everything was covered in a ton of glass. It seems that the preferred method for recycling glass in Marseille is to throw it out on the street. Although my route planning used the popularity heatmap in Strava, I didn’t see many other cyclists, so, unlike Paris, drivers just didn’t seem very aware of anything other than cars. Luckily, I made it through with only one glass shard in my front tire, which sealant managed to plug.

Originally, my route ended in Nice, which has more of a cyclist culture with the Tour passing through/finishing in the city and so many pro cyclists living there or in Monaco next door. Unfortunately, ending in Nice adds over 3 hours to the TGV back to Lille since Nice doesn’t have high-speed rail. So Marseille it was. To be fair, the Vieux Port and Hôtel de Ville neighborhoods are great to walk through (and apparently popular running routes); it just didn’t feel like a city welcoming to road cyclists.

Once in Marseille, I put my bike in a lightweight bike bag I had bought earlier in the trip; there was no way my EVOC bike case was going to fit into our tiny car at all, let alone with anything else in it. If you’re doing this or generally traveling with your bike, I’d highly recommend Orucase’s Frame Protection Kit and Disc Rotor Protector Set. While I think both are ridiculously overpriced (foam and velcro should not cost $130+), they were essential when using a SNCF-approved bag to carry my bike on the train and are also a welcome added safety against any TSA rough-handling when packing my bike in its case.

From Marseille, we took the TGV back to Lille (just under ~5 hours), swapped the bike bag for the bike case, and then took the TGV to CDG the next morning for the 11.5-hour flight back to SF. Through what I assume must be a miracle, none of our flights or trains were ever impacted by strikes, equipment failures, or significant delays.

All in all, this was an amazing trip. Would it have been nicer without multiple heat waves? Absolutely. But, given the number of things that could have gone wrong across 2 flights, 3 trains, a rental car, 7 Airbnbs, 6 hotels, and a route of 1,040 miles, it went incredibly smoothly. The bike infrastructure in France is truly incredible, allowing you to be on a car-free path by a river or canal for hours. But even on shared roads, the norm was for drivers to slow down and give cyclists as much space as possible 5. With few exceptions, our Airbnb hosts and the staff at hotels were welcoming and accommodating with check-in/checkout times. To be able to experience the world-renown Butte Montmartre, Alpe d’Huez, and Mont Ventoux climbs in person was breathtaking (literally at times). Finally, to be able to partake in the excitement of Tour de France starts and finishes was everything people hype it to be.

If you take one thing away, my hope is it’s to go explore the endless bike paths of France and enjoy a nice jambon-beurre next to a river somewhere.

🚴‍♂️

  1. Pogi would do this climb in less than half my time 12 days later.↩︎
  2. At least for this one, Pogi’s time was more than half my time.↩︎
  3. Stage 21 would itself get cut short due to the wildfires in the southwest of France that required diverting the Gendarmerie that normally secures the route. It also wouldn’t start until 5pm, which meant I got to watch it live after finishing my ride for the day.↩︎
  4. I guess I should have expected it since it’s on the elevation profile, but everything looks flat compared to Mont Ventoux the previous day↩︎
  5. I can recall 2 cases where a car cut me real close at high speed, and, in both cases, the car had a Belgian license plate.↩︎