Florian Quèze

To content | To menu | To search

Tuesday, April 22 2014

Thoughts about mentoring Summer of Code students

I've mentored Google Summer of Code students 3 years in a row, and I would like to share with new GSoC mentors what I've learned, in the hope that it can help them get more out of the summer. I'm going to assume that most mentors share these 3 goals:
  • get usable code at the end of the summer
  • train long term contributors who will stay active after the end of the summer
  • avoid spending disproportionate amounts of time mentoring.
I can't overstate how important it is to give the student good working habits from the very beginning. If you setup a good working relationship from the beginning, you are on for an awesome summer. If you let a student do things that frustrate you without sending immediate feedback about it, you'll both suffer during the whole summer.
Here are some frequent problems that are likely to happen if you don't pay enough attention in the beginning:
  • Because of the way school works, students are used to hiding their work until it's ready to be evaluated. Training them to show work-in-progress code so that you can provide early feedback and effectively help them takes time. You'll likely need to ask "show me the code, please" several times, encourage them, and comfort them that it's OK to show unfinished non-working code.
  • Students are used to receiving feedback from one person, and are likely to send their work only to their mentor when requesting feedback or expecting evaluation. Encourage the student to discuss the project with all the relevant people and more generally to interact with the community; avoid private discussion of technical matters. Doing this has 2 interesting consequences: the time you'll spend mentoring the student will be dramatically reduced because the mentoring load will be spread across all your team (for me this often meant that when my student asked a question on IRC, he received a good and timely answer before I had even read the question!), and the student will feel like he's part of your team, which increases the likelihood of staying around after the summer.
  • Unless given specific directions, students tend to work on a branch or on a repository somewhere, and think about merging their code or getting a review only at the end of the summer. It's common to see student applications where the schedule says that they will do all the coding work, and then get a review during the last week of the summer to land the code. Experienced Mozilla developers knows there's no way sending a several-months-of-work-worth patch to someone's review queue and expecting a timely review will work. But students usually dramatically underestimate both the time it takes to get a review AND the time it takes to address the feedback (probably because at school they hand their work and only expect a grade, or a pass/fail in return). As a mentor it's your job to ensure they get their code through review. Urge students to write small patches, and get them reviewed as soon as possible. Students (and other developers ;)) will be tempted to 'just add one more little feature before attaching the patch'. Resist! Filing a new bug is easy. If the schedule of a student involves writing code without submitting it for review and inclusion, this raises a red flag for me: is there really no way to break this down to smaller pieces that could land separately? Don't hesitate to rediscuss the schedule with the student if you aren't fully happy with it.
  • Given that the students are being paid money to participate in GSoC, it makes sense that lots of students will consider summer of code as "work", and have money be the primary motivator; which means that once they get the final payment, they disappear. This feeling can't be avoided in all cases, but if we can get the student to instead feel that the money is an opportunity to not do any other work during that time to focus full-time on volunteering for a project they care about, the student is likely to stay around for much longer than the summer. This can be done by treating the student more like a volunteer than like someone paid to be on your team. Get the student to have code landing early, and often. Get the student addicted to restarting his nightly build and seeing his code is in use there. Encourage the student to not only fix things directly related to his GSoC project, but to also spend a few hours here and there fixing his own itches and looking into other bugs that make the product better for his own use cases.
Here is one suggestion to get students started: during the community bounding period, assign them a 'small' project to warm up. The ideal characteristics of such a project are:
  • will get the student to go through all the processes of your team (using bugzilla, attaching patches, requesting review, handling review comments, …)
  • will get the student to touch code areas that will be relevant during the summer.
  • can be completed by the student before the ends of the community bounding period (think of it as a 2-weeks project, but size it like something you would do in a rainy week-end. Remember that most of the time spent by the student will not be actual coding, but learning to interact with your team, and this is the very reason why this project is done during the community bounding period).
  • once this small project lands, it will be highly visible, and will cause the student to receive appreciation from other people in your team/community.
It's not always possible to find a project fitting perfectly here, but it's usually possible to find something close enough to fit the purpose of getting the student started. The Instantbird team will be using this 'small community bounding project' approach to starting the mentoring relationship for the third time this year.
I tend to think that getting the student started on the right track is the most important thing a mentor needs to do, and if it's done correctly the rest of the mentoring is easy and pleasurable.

Thursday, March 20 2014

Summer of Code Student application deadline approaching

This is just a reminder to students interested in applying for Google Summer of Code 2014: the application deadline is "21 March 19:00 UTC" and no late application will be accepted.

If you intend to apply to Google Summer of Code this year and haven't submitted your application yet, don't wait: apply now!

Friday, February 28 2014

Google Summer of Code Student who went on to become a Mentor/Org Admin

Since 2006, I've probably tried every possible role as a Google Summer of Code participant: accepted student, rejected student, submitter of a rejected organization application, mentor of successful students, mentor of a failing student, co-administrator, and now administrator. Here's my story:

  • In 2006, I had the pleasure of being selected to participate as a student for the Mozilla organization. The work I did on the Page Info dialog eventually shipped as part of Firefox 3.0.
  • In 2007 I applied as a student again, to a different organization, but unfortunately wasn't selected. However, I received an email from someone from the organization who told me the application was good and they would have liked to take me as a student if they had received more slots. He offered to mentor me if I decided to move forward with the project anyway, which I did! I completed the project and in October 2007, Instantbird 0.1 was released. Instantbird is a cross platform, easy to use, instant messaging client based on Mozilla technologies.
  • In 2007, I was selected by Mozilla for an internship in the Firefox team, and spent the end of the year in their headquarters in Mountain View, California. I think this was in large part because people were happy about the work I did in 2006 as a Summer of Code student.
  • In 2008, 2009 and 2010, I focused on Instantbird, which had a growing community of volunteers improving it every day. I sent Summer of Code organization applications on behalf of the Instantbird community, but they weren't accepted. When I asked for feedback, I was told that we should try to work with Mozilla.
  • And this is what we did in 2011! Gerv agreed to let us add Instantbird project ideas to the Mozilla idea list. In 2011 I mentored a student, who completed successfully his work on implementing XMPP in JavaScript for Instantbird. In October I attended the mentor summit in Mountain View.
  • In 2012, I mentored another student, who did some excellent work on improving the user experience for new users during the first run of Instantbird.
  • In 2013, Gerv, who had been handling Summer of Code for Mozilla since the beginning in 2005, asked me if I would be interested in eventually replacing him as an Administrator. After some discussion, I accepted the offer, and we agreed to have a transition period. In 2013, I was backup administrator. I also mentored for the third year in a row. Unfortunately I had to fail my student. This was frustrating, but also a learning experience.
  • In 2014, I submitted the Summer of Code organization application on behalf of Mozilla, it was accepted and we are looking forward to another great summer of code!
  • On a more personal note, after being a Mozilla volunteer for years (since 2004), working on the Thunderbird team (from 2011 to 2012), and then on WebRTC apps (since October 2012), I'm starting in March 2014 as a full time engineer in the Firefox team. Which is the team for which I was a Summer of Code student, 8 years ago.

Thursday, February 27 2014

What I remember of flying British Airways…

I'll remember British Airways as a an airline where the service is as poor as the ticket is expensive. Here is how my journey from San Francisco to France happened on February 14, 15 AND 16.


It started going awry at the end of the BA286 flight (which by the way was late: departed at 20:38 instead of 19:45 from SFO). When the aircraft started its descent to London Heathrow, cold water started dripping from the ceiling of the cabin, onto my shoulder and the armrest of my seat (45G). I pressed the button to call a flying attendant. Nobody came. When leaving the aircraft, I casually mentioned the problem to a flying attendant who was standing by so that this could get fixed and avoid a shower for the new passenger. His reply was "oh, it's normal, it's condensation, it happens sometimes. There's nothing we can do about it. It's just that you are our unlucky passenger today."
Well, maybe there's nothing British Airways can do about it, but when I had the exact same incident a few years ago on an Air France flight, the hostess rushed to stop the rain by absorbing all the water that was on the ceiling with a pile of paper towels, and apologized for the inconvenience.
This small incident was actually just the start of a continued shower of disappointments during this journey.


Heathrow was not my final destination, but just a (dis)connection. A long connection (2+ hours) which became a very long connection, because the BA322 flight to Paris was delayed. Originally scheduled to depart at 17:50 from gate B33 (or at least I think that's the gate the person at the passport check told me), it was announced as "gate opens at 19:59"!
It was quite obvious I would miss my train connection in CDG (21:06) and have to change my ticket. I estimated the new arrival time in Paris: given that the flight was now expected to depart around 20:30, there was no way it could reach Paris before 22:07, the time of the last train toward Lille. Taking the BA322 flight meant being stuck in CDG for the night.
After noticing this, I researched the other possible options, and reached out to the British Airways staff to request their assistance.
Another possible option was taking the BA336 flight for Paris Orly (it was late too, and wasn't closed yet. It would have taken me to Paris at a time when finding a train connection from Paris would have still been possible). The staff told me that flight was already full and there was no way to get a seat there. Maybe that's true, but I have doubts, given that I heard numerous calls more than half an hour after that indicating that the gate would close soon and passengers should proceed immediately.
The last possible option was to take the metro to London St. Pancras, and take a Eurostar to Lille. That was actually the safest and fastest possible option, but the BA staff was very reluctant, saying that BA would probably not pay for that ticket, and that getting back my checked in suitcase would be quite a hassle.
They advised that I stick with the BA322 flight, however late it would be, and figure out something in Paris with the BA staff there, although BA would possibly not pay the hotel because the contract was to transport me to Paris, and the train wasn't part of the contract, blah blah blah. They said that I should keep receipts of any incurred cost and file a complaint to British Airways, because even though they had no obligation to pay for the hotel, they do study cases on a case by case basis, and may decide to do something.
They gave me a £5 voucher for a refreshment and instructed me to return to the main gate.
With that voucher I got a small (but £4.70, because, you know, everything is super expensive in airports…) tuna sandwich that kept me from starving, but not from being hungry.


The flight finally departed at 21:21 (according to FlightAware), and landed at 23:04. It seems the flight was shorter than usual (maybe the captain was trying to catchup a little bit on the schedule?), and it seemed to take the crew by surprise when they hear that we were starting our descent to Paris and people should return to their seats. Only about two third of the passengers had been offered snacks and hot drinks. It was too late for the others. I was hoping to get some food and a coffee during the flight to stay awake and be ready to affront the inevitable complications in Roissy; no luck… All I got was a coke.


Of course, at the Roissy airport, the British Airways staff did a really good job of being invisible and impossible to find. The only person I could talk to was the lady at the baggage claim desk, who was as nice as she was unable to do anything useful for me. The best she could do was call some British Airways people, who said they wouldn't deal with the passengers in Paris, and that anyway, the delay was not their fault, but only due to the bad weather. No, it was not! Most flights in Heathrow were delayed, yes, but not by more than 3 hours. (I actually have a photo showing that at 19:42, all the flights with original departure times before 18:30 but BA322 had their gate already open, or had already departed.)
The person at the baggage claim desk told me to follow the signage to the information desk where they could help me find an hotel. I did. And finally found a closed desk, with nobody around. At midnight, Roissy is deserted, and the remaining people are mostly homeless people. The only man I could find near the information desk was busy collecting and storing away luggage trolleys. He indicated me where I should go to find the hotel shuttle. I waited there in the cold for what seemed like half an hour, then hopped into the shuttle. I had no idea of which hotel to go to. I asked the bus driver for advice about which one would be the least expensive. He dropped me at the "Première Classe", which indeed seemed to be a cheap hotel with minimal service. The guy at the front desk scolded me for arriving at his hotel at 1am without a reservation, told me how lucky (really?!?) I was that a room was available, and urged me to at least call from the airport next time (to be honest, I don't see how I could have done that without help from the British Airways staff, especially at a time when the airport's info desk was closed). 1am, I reached my room and collapsed on the bed. The night cost me 65.47euros, that I think should have been paid by British Airways.
Next morning, I took a quick breakfast, a the shuttle back to the airport, and finally took a train to Lille.


I reached home around noon. The same evening, I started not feeling very well… and I spent the next 2 days in bed with fever. I have no doubt that this was at least in large part (if not fully) caused by British Airways' incapability of taking care of passengers blocked because of delays. I had almost no food on Saturday (a small breakfast in the first flight, and a tiny sandwich in Heathrow. I had no food in the flight to Paris, despite the tickets stating there would be snacks. I was dropped in the middle of the night in a cold and deserted airport, with no connection departing from it until the next day, and with nobody taking care of setting up accommodation for the night. Is this the level of service you would expect for a ticket that was paid more than $2,000? I'm disappointed. Very disappointed.

Thursday, February 6 2014

Mozilla and Google Summer of Code, FOSDEM talk

Last Saturday at FOSDEM, I had the pleasure of giving a talk with Gerv about Mozilla's participation in Google Summer of Code. If you missed us, you can see the slides.

This post is also a good opportunity to remind you to add your ideas to our brainstorm wiki page now if you are interested in mentoring a student this summer.

Friday, January 24 2014

Project ideas for Summer of Code 2014

Google will be running this year the 10th edition of Summer of Code. Mozilla has had the pleasure of participating every year so far, and we are hoping to participate again this year. In the next 3 weeks, we need to prepare a list of suitable projects to support our application.

Can you think of a 3-month coding project you would love to guide a student through? This is your chance to get a student focusing on it for 3 months! Summer of Code is a great opportunity to introduce new people to your team and have them work on projects you care about but that aren't on the critical path to shipping your next release.

Here are the conditions for the projects:

  • completing the project should take roughly 3 months of effort;
  • any part of the Mozilla project (Firefox, Firefox OS, Thunderbird, Instantbird, SeaMonkey, Bugzilla, L10n, NSS, IT, and many more) can submit ideas, as long as they require coding work;
  • there is a clearly identified mentor who can guide the student through the project.

If you have an idea, please put it on the Brainstorming page, which is our idea development scratchpad. Please read the instructions at the top – following them vastly increases your chances of your idea getting added to the formal Ideas page.

The deadline to submit project ideas and help us be selected by Google is February 14th.

Please feel free to discuss with me any Summer of Code question you may have.

Tuesday, January 21 2014

Instantbird bugs should now go to bugzilla.mozilla.org

From 2007 to late 2013, Instantbird bugs were tracked on bugzilla.instantbird.org. This was fine as long as Instantbird was completely separate from all other Mozilla products, but when Instantbird's chat backend was re-used to add instant messaging to Thunderbird, we started having bugs that were relevant for both Instantbird and Thunderbird. Having them in two separate bug trackers was messy and caused lots of duplicates.

We started discussing this at MozCampEU2012 in Warsaw. It quickly became apparent that getting a product created for Instantbird and another one for the chat core wasn't a problem, but that importing our existing bugs would require more work. The plan at this time was to import the existing BIO (bugzilla.instantbird.org) database into BMO (bugzilla.mozilla.org). Unfortunately, while it seems bugzilla already supports importing bugs from plenty of other bug trackers, it doesn't support importing bugs from itself. Some people from the BMO team thought writing such an importer would be a nice and not-very-difficult project, so they agreed to work on it. We filed a bug to figure out the details. And nothing happened for months, because there were (understandably) higher priorities for the BMO team. Ten months later, the BMO team concluded that they were unlikely to ever get time for this project, and suggested we work on another solution instead: using BzAPI to do the import ourselves. This was more work than we could get done immediately, so we kept that in mind for later. Patrick Cloke started experimenting with BzAPI but couldn't get enough of my and others' attention to complete the project.

In December 2013, we decided to move forward with the import, and requested the creation of the products just before the holidays. We drafted a plan in which we broke down the work that needed to happen in several steps that could each be performed by a (relatively) simple and independent script:

  1. first, download all the data from bugzilla.mozilla.org in JSON, create a file for the data of each bug
  2. slice the content of each file from 1. into a stream of events (each event is an action performed by the bugzilla users).
  3. transform the sliced events into events that would apply on BMO (eg. change product names when they don't match exactly on BIO and BMO)
  4. merge the events of all bugs into a single file; without duplicates (eg. when marking a bug as a duplicate of another bug, this creates events on both bugs, but we only need to import one, the other happens automatically).
  5. replay events on BMO: this needs to create a map of new bug and attachment numbers, and replace them automatically in comments.

The plan looked simple on paper (well, on an etherpad). Reality got in the way, with plenty of not-really-expected complications:

  • BzAPI has lots of documented (eg. can't create an attachment at the same time as filing a bug; can't set the component without also setting the product, ...) and undocumented (eg. UTF8 is supported when filing a bug or adding comments, but not when commenting on an attachment) limitations.
  • The format of data downloaded from BzAPI is significantly different from the format of data we need to send it to do changes. This is especially true for attachment flags.
  • Sometimes the values in bug fields don't match what's in the history of events that happened to the bug. This problem occurs when users changed their bugzilla email address, when products got renamed. The worst case we had to deal with was a target milestone that was renamed, then a new target milestone was created with the original name, and some bug's milestone was changed from the renamed milestone to the new milestone with the original name. This caused an interesting complication because we ended up with changes where the mapped value was the same before and after the change.
  • We initially started using the js shell for our scripts, but to do HTTP requests, we needed XPCOM, so we switched to xpcshell instead. Unfortunately, xpcshell's readline() function truncates input data after 255 characters. Later I discovered that xpcshell doesn't handle UTF8 input/output by default, and had to use nsIScriptableUnicodeConverter for that.

Our scripts are all in the bio-merge hg repository. The result of step 4. is a 120MB text file with each line being the JSON representation of an event that needs to be replayed. We tested replaying events on bugzilla-dev.allizom.org first for a single bug, then for a few set of bugs that had dependencies. Finally we replayed our whole set of bugs (2294 bugs, 20984 events), and after fixing the issues that surfaced during that test run, we were ready to do the final import.

The final import took 848 minutes to complete (14 hours). 240 events failed to replay because some components didn't have on BMO the exact names the script expected. I fixed the script and replayed these again.

We finished by adding comments in all existing BIO bugs giving the new URL, and closed BIO (it's now read-only).  As of 2013-12-30, new Instantbird bugs should be filed on bugzilla.mozilla.org, in the Instantbird product for UI bugs, in the Chat Core product for backend issue (this part of the code is shared with Thunderbird), and in the Instantbird Servers product of issues with our servers.


Après plusieurs années de sommeil, je vais réveiller mon blog. Je compte parler ici en anglais d'Instantbird, de mon travail pour Mozilla, de Google Summer of Code (dont j'administre la participation de Mozilla), mais aussi en français de sorties avec mon Ami 6, et peut-être des travaux dans ma maison.

A bientôt !

Tuesday, June 28 2011

Instantbird 1.0, sorti simultanément en 11 langues (dont le français évidemment)

Instantbird 1.0 vient de sortir.

Instantbird logo

Cette version apporte de très nombreuses améliorations. Cette fois ci, non seulement le logiciel en lui-même est traduit, mais le site web aussi, alors pour savoir ce qui est changé depuis la version précédente, il suffit donc tout simplement d'aller voir sur le site d'Instantbird lui-même :).

Instantbird 1.0 - copie d'écran sur Windows 7

De nombreux blogs reprennent déjà l'information. N'hésitez pas à faire de même (ou à partager sur Facebook ou twitter) afin que vos amis en profitent aussi !

Tuesday, January 11 2011

Premier week-end avec mamie 6

Ce week-end, j'allais chercher une Ami 6 dans le sud de la France, à Frontignan.


Je suis parti en TGV vers 15h de la gare Lille Europe. Un peu plus de 5h de train et me voila à la gare de Sète (avec 25 minutes de retard) où Michel (propriétaire de l'Ami 6) et Denis, un ami Lillois m'attendaient. Lors de mon arrivée à la gare, Michel était au téléphone, cherchant à joindre un ami pour lui faire vérifier les freins de l'Ami, il a en effet constaté qu'elle a tendance à tirer à droite lors du freinage, et était inquiet à ce sujet.

L'Ami 6 (dite "la petite vieille") m'attendait aussi, sur le parking. Premier voyage en Ami 6 pour aller chez Michel où sa femme nous attendait tous les trois avec un bon repas. Michel et sa femme sont des profs à la retraite, respectivement de français et de musique.

Après le repas, Michel est allé raccompagner Denis chez lui en utilisant sa jolie 2CV bleue :

L'occasion pour moi de faire un tour en 2CV, et de voir la 2CV fourgonnette qui dort devant la maison de Denis :

De retour chez Michel, nous avons traîné un peu dans le garage autour de mamie 6 à regarder différents détails. Un petit tour dans le jardin aussi, où une Ami 8 break attend paisiblement sous les arbres que quelqu'un s'intéresse à ses pièces :

Puis dodo.


Levé vers 7h30. Petit déjeuné avec Michel dans la cuisine avant d'aller faire un tour avec l'Ami 6 pour que je l'essaye et apprenne à la conduire. Nous nous arrêtons donc dans un coin tranquille. Je fais quelques photos avant de prendre le volant :
vignes-avant vignes-arriere

Ça change beaucoup des autres voitures que j'ai conduites. J'écoute les conseils encourageants de Michel, très patient (on sent qu'il a été prof !). J'ai l'impression d'être à nouveau à l'auto-école, de réapprendre à conduire.

Pour une raison quelconque, nous ouvrons le capot, et Michel voit aussitôt que le tambour de frein avant gauche n'est pas du tout à sa place.

C'était donc pour ça qu'elle ne freinait pas droit depuis la veille ! C'est choquant pour une voiture dont les freins sont neufs, et qui sort du garage avec une facture de réparation de plus de 1500euros... A partir de là il n'a plus voulu me laisser le volant, et nous sommes allés chez l'ami qu'il essayait de contacter la veille quand je suis arrivé à la gare. Il n'était pas là, et ne répondait pas au téléphone. Nous sommes allés chez Denis à la place, pour lui demander s'il pouvait nous aider à refixer ce tambour de frein. Il a accepté, l'Ami a été garée devant l'entrée de son garage, et nous sommes partis avec lui à son dépôt de pièces quelques kilomètres plus loin. Un petit bâtiment bien caché, invisible depuis la route, entouré d'oliviers, où sommeille une 2CV de 1958 et sont entreposées de nombreuses pièces détachées.

Après avoir fouillé le stock de pièces pendant de longues minutes et en avoir extrait plusieurs boîtes de vitesse, Denis a abandonné l'idée de trouver là les écrous recherchés et nous sommes rentrés chez lui. En fouillant un peu dans le cambouis, nous avons trouvé 2 des 4 écrous qui fixaient le tambour, et Denis a réussi à en trouver 2 autres similaires dans son stock de visserie. On remonte le tout, se lave les mains, remercie bien, puis retour chez Michel.

Il était déjà 13h, j'ai mangé à nouveau en compagnie de Michel et sa femme. Après le repas, Michel et moi nous sommes occupés des papiers (certificat de cession, ...) puis nous avons installé une prise allume cigare dans la voiture, pour que je puisse y brancher mon téléphone et profiter du guidage GPS pendant tout le parcours sans avoir à craindre que la batterie insuffisante ne me prive de ce précieux gadget au bout de quelques heures.

Je suis finalement parti vers 16h, sentant Michel un peu ému, sans trop savoir si c'était de voir sa petite vieille partir, ou à l'idée du voyage qui m'attendait (ou les deux à la fois). Michel a proposé de m'escorter jusqu'à l'autoroute avec sa 2CV, mais comme j'ai un GPS, ce n'était pas vraiment nécessaire. Je suis parti avec un sac de provisions pour un pique nique qu'on m'a gentiment proposé. Moi qui voulait partir tôt le matin pour rouler le moins possible pendant la nuit, ... c'est raté !

J'avais prévu de passer dimanche en milieu de journée près d'Angers pour acheter des sièges d'Ami 6 en meilleur état que ceux présents dans la voiture. Je voulais faire une première étape à Poitiers et une deuxième au Havre. En partant à 16h de Frontignan, impossible d'être à Poitiers le même jour.

Après un premier plein d'essence au premier supermarché que j'ai rencontré sur ma route, j'ai pris l'autoroute et y suis resté jusqu'à Clermont-Ferrand. J'ai pris le viaduc de Millau.

Ça fait une drôle d'impression de rouler sur l'autoroute aussi lentement. Quand ça monte fort et tourne beaucoup, la vitesse est limitée à 110, 90 voire 70 km/h. Aucun risque de dépasser ! Mamie 6, en y mobilisant toute sa puissante, pouvait atteindre dans ces situations respectives 80, 60 voire 40 km/h. :-D. A 40 sur l'autoroute, on a presque l'impression d'être arrêté. Comme c'est une des rares partie du parcours où il faisait jour et ne pleuvait pas, j'ai pu en profiter pour observer le paysage.

J'ai fait une petite pause sur l'aire d'autoroute de Marvejols (ce nom me rappelle quelque chose, je crois que c'était le nom de la machine de yabo au LRDE, celle qu'on martyrisait :-D), alors qu'il faisait déjà nuit. Sur l'aire d'autoroute, il n'y avait qu'une seule autre voiture arrêtée : une grosse Mercedes, capot ouvert. Le monsieur remettait de l'huile, je suis passé devant lui pour aller aux toilettes et il m'a dit "Elle roule bien ta voiture ! Ça fait 2 fois que je la double." Nous avons discuté un peu, et il m'a expliqué qu'il a eu dans le temps 2 Ami 6, une berline puis un break. Il m'a raconté qu'il allait lui aussi dans le Nord-Pas de Calais, à Douai, qu'il avait acheté sa Mercedes d'occasion il y a un an en parfait état et avec très peu de km pour 3500euros. C'est amusant comme il suffit de promener une voiture un peu inhabituelle pour que les gens se mettent à nous parler.

Avant de repartir de Marvejols, j'ai ouvert le capot pour vérifier que les freins n'avaient pas bougé à nouveau (Denis et Michel m'avaient laissé des clés au bon diamètre pour pouvoir les resserrer en cas de besoin). Pas de soucis de ce côté, mais je remarque qu'il y a pas mal d'huile un peu partout.

Je roule encore un peu après Clermont-Ferrand. Mamie 6 commence à montrer qu'elle a parfois un sale caractère. Michel et moi avions observé avant que je parte que le ralenti était peut-être réglé un peu trop bas. Maintenant c'est sûr, après plusieurs heures d'efforts sur l'autoroute, elle cale à chaque arrêt (feux rouge, stop, etc...). Elle avait déjà calé au péage du viaduc de Millau, mais j'avais cru que c'était moi qui avait fait une erreur. A partir de ce moment là, je redoute ronds points où je devrais m'arrêter et feux rouges... A un feu rouge où j'ai calé et où Mamie a eu du mal à redémarrer (elle a toujours redémarré, mais a parfois mis plusieurs secondes avant de se décider), la voiture immédiatement derrière m'a doublé par la droite, s'est garée et la personne est venue voir si j'étais en panne, si j'avais besoin d'aide. Le temps qu'il sorte de sa voiture, mamie ronronnait à nouveau, mais j'ai tout de même trouvé ça sympathique. Ça change des gens qui dans la même situation auraient juste klaxonné !

Vers 21h j'ai fait une pause dans une petite ville qui m'avait l'air sympathique. Je me suis garé devant l'église et j'ai mangé les sandwich que j'avais.

Il y avait un petit hôtel de l'autre côté de la rue. Les tarifs semblaient raisonnables. J'ai par contre failli éclater de rire quand j'ai vu qu'il était fermé à partir de 20h. Tant pis, j'irai dormir plus loin ! J'ai envoyé un SMS à ma mère. Je n'avais pas répondu au SMS qu'elle m'avait envoyé vers midi demandant où j'en étais et si l'Ami6 était agréable à conduire... je ne voulais l'inquiéter en lui disant que je n'étais pas encore parti car le frein avant gauche s'était décroché :-D. Par contre, dans le SMS j'ai dit que je faisais une pause sandwich, ce qui lui a fait deviner que j'allais repartir et que je roulais de nuit :-/.

Après mon repas et avant de repartir, j'ai ouvert le capot à nouveau. Rien à signaler du côté des freins, je trouve toujours qu'il y a de l'huile partout et que ça ne doit pas être normal, mais bon... il n'y a pas grand chose que je puisse y changer dans l'immédiat. J'ai cherché dans un livre sur l'entretient de la 2CV et les réparations possibles à faire soi même que Michel m'a donné s'il y avait un moyen simple de régler le ralenti pour que Mamie arrête de caler à chaque arrêt, mais je n'ai pas trouvé d'explication suffisamment limpide pour que je puisse y toucher sans craindre de faire pire que mieux. Juste avant que je referme sans avoir rien touché, une Renault Espace s'arrête, me demandant si je suis en panne. Je réponds que non et que je vérifiais juste si tout allait bien. Le monsieur me dit alors qu'il a la même, mais en berline, dans un garage à quelques kilomètres de là. Je lui dis que c'est encore plus joli en berline, et il me répond qu'elle est à vendre. Je lui demande à combien, il me répond 4500euros, puis s'en va en me lançant "Elle est sur le bon coin !".

Je repars, et constate avec surprise qu'après la pause sandwich, Mamie 6 ne cale plus au ralenti. J'ai un peu l'impression qu'elle se moque de moi, mais ça m'arrange plutôt.

Je roule un peu, puis m'arrête à une pompe à essence. Je profite d'être dans un endroit bien éclairé pour regarder à nouveau l'huile répandue partout sous le capot, mais ne trouve pas d'explication évidente à cette fuite. Ça m'inquiète, et m'inquiète encore plus de voir la quantité d'huile tombée sous la petite vieille pendant que je remplissais son réservoir... et après en regardant à côté de l'autre pompe, je me suis trouvé complètement idiot en constatant qu'il y avait encore plus d'huile à côté et qu'une station service est probablement le plus mauvais endroit possible pour vérifier ça...

Je repars. Sur une petite route qui sinueuse qui grimpe fort (et où je roule donc à environ 40 km/h), une scenic me colle au pare choc. Au bout de plusieurs minutes, elle double, et klaxonne plusieurs fois, la personne à la place du passager gesticulant très vulgairement dans ma direction. Leur bêtise m'a fait rire, et je me suis demandé quelle contribution à l'humanité ils pensaient apporter par ce type de comportement.

Vers 23h30, je passe dans un petit village où l'église éclairée me semble jolie. Il y a un parking pour les touristes (mais évidemment pas de touristes en janvier). Je me dis que ça serait un bel endroit pour se réveiller, et décide de faire marche arrière pour me garer sur le grand parking. Pendant ma manœuvre, la petite vieille fait des claquements que j'ai trouvés très inquiétants, et avance par à coups. Ça m'a beaucoup inquiété, j'ai eu peur qu'elle ne reparte pas, mais vu l'heure, il n'y avait pas grand chose d'autre à faire que de dormir et attendre qu'il fasse jour pour analyser la situation à tête reposée. J'ai donc décidé que j'allais dormir dans le coffre. J'ai mis un certain temps à m'installer correctement. J'ai d'abord tenté de rabattre la banquette, la décrocher et la mettre dans la longueur, pour me coucher à côté, mais la voiture, même sans banquette n'est pas assez longue pour que je puisse m'y allonger. La meilleure solution a finalement été de mettre dans le coffre toutes les affaires que j'avais sur le siège avant, mettre la banquette arrière par dessus les sièges avant, m'allonger en diagonale dans le coffre sans banquette et utiliser mon sac de voyage comme oreiller. J'ai assez mal dormi, inquiet de l'huile que mamie répand partout, et des bruits entendus juste avant de m'arrêter pour la nuit. Il a beaucoup plut pendant la nuit. J'avais mis un réveil à 8h. Inutile, à 7h55, la cloche de l'église s'est mise à sonner avec enthousiasme plusieurs dizaine de coups, probablement pour annoncer la messe qu'il y aurait eu à cette heure un dimanche matin quand le village était plus peuplé. Curieusement, la pluie s'est arrêtée juste quand j'ai voulu sortir de la voiture. J'ai tout rangé (banquette à sa place, etc...), puis suis allé me dégourdir les jambes quelques minutes. Je me suis donc réveillé dans la Creuse, dans un village ayant des thermes Gallo Romains. J'ai fait quelques photos de Mamie, toute brillante en étant mouillée.

Un chien est venu rendre visite à Mamie :

Avant de repartir, j'ai contrôlé le niveau d'huile. Ouch, très bas. Je n'aurais peut-être pas dû être surpris vu qu'elle en a mis partout... J'ai donc commencé à remettre de l'huile. Tout le contenu du bidon de 2L que Michel m'avait mis sous le capot y est passé, pour arriver à peine au niveau minimum. Ça va pas du tout ça, parce qu'elle bouffe plein d'huile (et ne sait même pas le faire proprement), et en plus parce que j'en ai plus à lui donner si elle continue. Et un dimanche, pas vraiment possible de trouver facilement un endroit où en acheter.

Je repars, un peu inquiet. Claquements sinistres à nouveau, mais nettement moins forts qu'hier. J'ai vite compris qu'ils se produisent si j'appuie un peu trop fort sur l'accélérateur avant d'embrayer en première et parfois en seconde. Je suis presque sûr qu'elle ne se comportait pas comme ça avant mon départ, mais il est aussi très possible qu'avec la fatigue accumulée, mon pied ait été un peu lourd sur la pédale vers 23h...

Je suis réellement reparti vers 9h. Je pensais rouler une petite heure puis m'arrêter dans une boulangerie pour acheter des croissants et manger un petit déjeuner. Je roulais bien et il s'est remis à pleuvoir, donc j'ai mis longtemps à me décider à m'arrêter (pas envie de sortir sous la pluie). J'ai été agréablement surpris de voir que malgré leur taille ridiculement petite, les essuie-glaces sont très efficaces et permettent d'y voir bien. J'ai fait une pause dans un village où finalement j'ai juste marché un peu, uriné contre un arbre, et mangé un morceau de brioche que j'avais avec moi.

Je suis reparti assez vite, ne souhaitant pas perdre trop de temps pour arriver à une heure raisonnable à Angers. Pendant ma pause sandwich la veille au soir, j'avais indiqué à la personne que je devais voir à Angers qu'avec l'heure tardive à laquelle j'étais parti du sud de la France, il était quasi impossible que j'arrive avant 15h.

Je roule bien. Une pause pour donner à boire à Mamie. Elle ne consomme pas énormément, mais avec un réservoir de seulement 25 litres, elle a quand même assez souvent soif.

Je voulais essayer d'arriver approximativement à 15h, comme je l'avais plus ou moins annoncé. Pas beaucoup de temps à perdre donc. D'après les indications du GPS, c'était encore faisable d'arriver à 15h, après la pause essence, il ne me restait qu'un peu moins d'une demi heure de route à faire !

Je reprends donc la route, un rond point plus loin, quelques mètres après l'entrée d'une voie rapide, mamie se met à vibrer énormément à du côté arrière droit et est incontrôlable à plus de 10 km/h. J'ai compris que j'avais un pneu crevé, mais sur la voie rapide, impossible de s'arrêter pour le changer. Le moins dangereux que j'ai trouvé à faire a été de rouler très lentement jusqu'à la sortie suivante en serrant le plus possible à droite, à une vitesse me permettant de garder le contrôle de la trajectoire, et en ignorant les abrutis qui klaxonnaient. J'ai été soulagé de trouver une sortie à peine plus d'un kilomètre plus loin, et en plus c'était une aire de repos ! Parfait. Vers 14h45, j'ai téléphoné à la personne qui m'attendait pour lui signaler que d'après le GPS j'étais dans les temps, mais qu'un de mes pneus venait de rendre l'âme, et que donc j'arriverais nettement plus tard que prévu, le temps de changer la roue.

J'ai cherché comment faire, comment le cric s'utilise, etc... La manivelle est toute petite et ne fait pas un levier suffisant pour desserrer les écrous. J'ai cherché comment avoir plus de force, mais pas moyen de trouver un autre levier plus grand. Finalement, au bout de quelques minutes, avec l'énergie du désespoir, les écrous ont fini par céder et j'ai pu changer cette roue. Juste avant de repartir, j'ai discuté avec un vieux monsieur qui marchait tranquillement sur l'aire de repos. Ma petite vieille avait l'air d'attirer sa curiosité. J'ai téléphoné à nouveau vers 15h30 pour dire que je repartais et pensais arriver au point de rendez vous dans une demi heure environ s'il n'y avait pas de nouveau contre temps.

Je n'ai toujours pas décidé si j'ai eu beaucoup de mal chance que ce pneu cède et choisisse pour ça une voie rapide où c'était dangereux, ou si j'ai eu énormément de chance qu'il me fasse ça alors que je roulais lentement, que non seulement il faisait jour, mais qu'en plus il ne pleuvait pas (ces deux dernières conditions réunies sont très rares sur l'ensemble du voyage :-D). Je suis plutôt optimiste donc je penche plutôt du côté "j'ai été chanceux" :).

Pas de nouveau contre temps jusqu'à mon arrivée à Angers, même si le GPS m'a indiqué des choses complètements fantaisistes sur les derniers kilomètres.

Je rencontre donc Daniel au point de rendez-vous qu'il m'avait indiqué. Il me guide jusqu'à un hangar où est entreposée une Ami 6 break pour pièces très saine et en grande partie démontée.

J'étais venu pour acheter les sièges de l'Ami en question, qui même s'ils ne sont pas identiques à ceux de mon Ami sont en bien meilleur état. Ils ne sont pas en aussi bon état qu'ils en avaient l'air sur la photo. Ils sont réparables, et seront tout à fait présentables une fois réparés, mais même réparés, ils ne pourrons pas avoir l'air neufs.

Daniel me les vends finalement à 120 euros au lieu des 150 de l'annonce. On démonte ensemble les pare-soleils de son Ami break qu'il me donne (pour une raison que je n'ai pas comprise, ils étaient manquants sur mon Ami). Il me donne aussi un vieux pneu et une chambre à air que je pourrais éventuellement faire remonter sur ma roue de secours par un garagiste si je crève à nouveau sur mon chemin. Il me donne aussi le bidon d'huile qui était sous le capot de son Ami break. Il est là depuis longtemps, mais l'huile semble encore utilisable, et si mon moteur continue à bouffer de l'huile, ça sera toujours mieux que pas d'huile du tout. Nous vérifions le niveau de l'huile sur mon moteur. Je n'en ai quasiment pas perdu depuis le matin, ce qui m'a beaucoup rassuré pour le reste de la journée (cependant, ce n'était peut-être qu'une illusion car la voiture était garée en pente quand nous avons regardé le niveau). Casse tête pour faire rentrer les sièges et autres bidules dans mon coffre. Nous avons réussi, mais juste quand j'aillais repartir, j'ai constaté qu'on ne voyait plus rien du tout dans le rétroviseur intérieur, et vu la médiocrité des rétroviseurs extérieurs, c'était pas envisageable de partir comme ça. On a donc tout ressorti. La banquette nouvellement acquise qui ne voulait pas se rabattre (alors qu'elle est pourtant rabattable avec le même système que celle déjà dans ma voiture) a fini par comprendre que c'était dans son intérêt de se plier à ma volonté (là encore, probablement avec l'énergie du désespoir pour aider...). En empilant les deux banquettes repliées, pas mal de place a été gagnée, et j'ai finalement pu partir vers 17h30.

Direction le Havre où j'ai dit de ne pas m'attendre avant minuit (alors que le GPS indiquait que j'arriverais vers 23h, mais comme il y avait des autoroutes sur le parcours, j'ai préféré ajouter une heure au temps, sachant que je roule très loin de la vitesse normale sur autoroute ^^).

Je roule à nouveau de nuit, et c'est vraiment dommage. Je suis passé très près de l'ancien lieu de vacances familial. Ça m'a fait bizarre de passer à Argentant (je maudis ceux qui ont eu l'idée stupide de mettre un rond point tous les kilomètres, on sent qu'ils ont fait ça à une époque où "toutes" les voitures ont la direction assistée !), Livarot, Trun, Lisieux. Je suis passé sur la route que nous prenions pour aller faire les courses à Vimoutiers. La flèche "Le Renouard" m'a vraiment fait une drôle d'impression. Je pense que s'il avait fait jour j'aurais fait un détour de 5km pour aller faire une photo de mamie devant l'ancienne maison de vacances familiale. En pleine nuit ça n'avait pas d'intérêt.

Un plein d'essence à Lisieux, alors que le réservoir n'était pas encore vraiment vide, pour être sûr de ne pas avoir à en faire un autre ce jour... ou plutôt cette nuit. J'en ai profité pour manger un peu.

Dernière "ligne droite" pour aller au Havre. Pont de Normandie. J'ai demandé au péage s'il n'y avait pas un tarif réduit pour les véhicules de collection qui prennent le pont à 40km/h, mais non, elle n'a rien voulu savoir, et 5 euros c'est cher pour un pont. Tant pis, j'avais pas du tout envie de faire un grand détour.

Au Havre, j'ai tourné stupidement pendant près d'un quart d'heure, essayant de contourner les routes en travaux pour le tramway (ou juste en travaux sans raison valable particulière), avant de finalement trouver une rue dont le nom avait l'air prometteur, et qui m'a amené très près du but.

Je suis arrivé chez Ghislaine (ma tante) et Eric un peu avant 23h30. Eric a poussé sa voiture pour qu'on puisse mettre mamie 6 devant le garage et sa voiture (qui devait sortir tôt le lendemain matin) devant la grille. C'est Eric qui a fait la manœuvre pour rentrer mamie 6 dans la cour, j'étais plus du tout en état de manœuvrer correctement. Ghislaine et Eric m'avaient préparé à manger, et ont tout de suite vu que j'avais l'air épuisé.

Michel m'a envoyé un email me demandant où j'étais et si la petite vieille se comportait comme il faut. Je lui ai répondu que j'étais au Havre à 3/4 du voyage, et suis allé me coucher un peu avant 1h du matin.

Ça fait du bien un bon lit, surtout après une nuit passée dans le coffre !


Je me suis réveillé avec des courbatures dans les bras et épaules. J'avais pas pensé que ça serait du sport de conduire une Ami ! Méchants ronds points !

Petit déjeuné avec Eric, qui m'a expliqué comment repartir en évitant les travaux, et conseillé d'aller à Norauto faire monter mon pneu de rechange sur la jante. Il devait partir assez vite, mais finalement, ayant cédé à la tentation d'une douche, j'étais encore là quand il est revenu. Il m'a montré un de ses nouveaux loisirs puis nous sommes allés faire un petit tour à pied au bord de la mer. J'ai une photo où on voit ma petite vieille garée dans la cour et où on aperçoit la mer :

Ensuite, contrôle du niveau d'huile. Très bas à nouveau. J'ai mis à nouveau plus d'un litre d'huile, presque un litre et demi :-/.

Il était presque 13h quand je suis finalement parti. J'ai fait une pause à Norauto, comme Eric me l'avait conseillé. J'ai acheté un bidon d'huile 5l (premier prix, 8,5euros... pour le temps que mamie 6 la garde, la qualité ne doit pas changer grand chose :-(). J'ai demandé qu'on me mette le pneu utilisable sur la jante de la roue crevée, mais ils n'ont pas voulu, prétendant que le pneu était trop usé et risquerait d'éclater au gonflage. J'ai surtout l'impression qu'ils avaient la flemme, moi il me semblait en meilleur état que le pneu en lambeaux que j'avais sur la jante, et j'aurais préféré avoir une roue de secours...

J'ai fait le reste du parcours (environ 4h) pour rentrer à la maison sans faire de pause. J'avais envie d'arriver avant la nuit. Je suis donc arrivé vers 18h.

Pendant le parcours, il m'a pris la folie de doubler. Oui, avec mon Ami 6 je double, et mon premier dépassement, pour bien faire les choses, je l'ai fait en côte ! Réussi ! :-). Vous me croyez pas ? Bon d'accord, j'avoue, c'est un cycliste que j'ai doublé :-D. Un peu plus tard, j'ai aussi doublé un tracteur qui roulait à 30km/h (route plate), sur l'autoroute deux camions qui en descente se trainaient à 80km/h alors qu'ils étaient limités à 90. Comme il n'y avait personne d'autre autour, j'ai pris mon temps pour les doubler, permettant à mamie de prendre de l'élan pour réussir à monter la côte à venir à une allure raisonnable. A moins de 50km de l'arrivée, un tracteur avait visiblement très envie d'être doublé, il roulait carrément sur la piste cyclable. Ça montait pas mal, il roulait à 50, je pense pas que j'aurai pu dépasser 60, donc j'ai suivi le tracteur, sur la piste cyclable moi aussi. Toutes les voitures de la file derrière nous ont doublé très vite, sauf la voiture immédiatement derrière moi, qui a attendu pour doubler le tracteur que je le double (en haut d'une descente, j'avais de la place pour accélérer !), et est donc restée derrière moi. Elle ne m'a finalement doublé que plus tard quand j'ai serré fortement à droite et levé le pied pour qu'elle s'en aille. Une fois cette voiture devant moi, j'ai vu 3 enfants qui regardaient par la vitre arrière. Quelqu'un n'aurait-il pas dit à l'intérieur "Hé, regardez, c'est la voiture que papy avait !" ? ;-).

Je suis donc arrivé à la maison vers 18h. Photo "de famille" avec la C3 et les beaux yeux de mamie :

C'est le seul endroit où je n'ai pas été accueilli avec enthousiasme. Mon père avait eu Éric au téléphone, et savait donc déjà que j'avais eu un pneu crevé et que mon Ami consommait de l'huile. En guise de bienvenue, il m'a dit que puisqu'elle perdait de l'huile on ne la mettrait finalement pas au garage pour pas salir (Il était convenu que mamie resterait au garage à la place de sa voiture pendant environ un mois avant que je ne lui trouve une place ailleurs). Je l'ai regardé comme un extraterrestre, ai répondu "D'accord, sors ta voiture." Et hop, mamie au garage. Elle a l'air minuscule là dedans ! on croirait un modèle réduit :

J'ai mis un carton en dessous. Plus pour pouvoir me faire une idée de la quantité d'huile réellement perdue (j'ai l'impression qu'à l'arrêt elle ne perd rien et que c'est seulement en roulant avec un moteur chaud qu'elle en met partout) que pour éviter de salir le garage qui est déjà loin d'être propre. Les sièges achetés à Angers sont sortis du coffre et sont allés au grenier, j'avais peur qu'ils s'abiment en restant dans le coffre serrés les uns contre les autres dans une position anormale pour des sièges. Et... bonne nuit mamie, pas le temps de m'occuper plus de toi avant la fin de la semaine...


Je repars vers Lille avec ma C3. Les premières minutes de réadaptation ont été difficiles. J'ai compris ce que voulais dire Michel par son "ça marche bien, mais on sent rien" en parlant de la Twingo de sa femme. Au premier tournant, j'ai attrapé le volant à 2 mains, et la voiture a failli partir dans le fossé. Lorsque j'ai appuyé "un peu" sur le frein pour ralentir, elle s'est arrêtée net. La voiture atteint 120km/h avant que j'aie vraiment entendu le bruit du moteur. Ça n'a vraiment rien à voir avec mamie, avec qui on a l'impression d'être un fou dangereux si on atteint 90km/h et de faire un record de vitesse si on roule à 100 (en descente).


Coincé une demi heure dans les bouchons à l'entrée de Lille. Grr, ça faisait longtemps que je l'avais pas eu celui-là (d'habitude je reviens à Lille entre 23h et 1h, mais j'étais beaucoup trop fatigué pour ça hier soir). A l'arrêt sur l'autoroute, je vois sur le téléphone un email de Michel, rassuré que je sois bien arrivé. Extrait :

Te voilà donc à bon port après une épreuve initiatique redoutable: c'est le propre des rituels d'initiation que d'inquiéter l'entourage de l'initié!

Tout ça pour te dire que je n'étais pas très tranquille ...et que me voilà rassuré!

Félicitations donc: pour moi, c'est étrange cette façon de faire: partir sans emporter: pinces, fil de fer, élastiques découpés dans vieilles chambres à air et écrous & boulons de rechange...mais avec portable chiadé et GPS!

L'ère des Mutants atteint le monde graisseux et fumant des bicylindres d' André!


Eh bien Michel, je ne regrette pas du tout de t'avoir ennuyé pour installer cette prise allume cigare afin d'y brancher mon GPS. Ça a été très utile cet outil !


Au total, j'ai fait avec mamie environ 1400 kilomètres, en un peu moins de 24h de route, réparties sur 3 jours. J'ai consommé environ 95 litres d'essence (donc entre 6,5 et 7l aux 100 km, pas très économique mais tout de même très raisonnable), et 4 litres d'huile (ça me semble énorme).

En résumé, j'ai acheté une voiture qui perd ses freins, fait plein de bruit, avance tout doucement, bouffe de l'huile... elle a vraiment de la chance d'être mignonne et qu'on lui pardonne tout dès qu'elle nous regarde avec ses grands yeux ! :-]

- page 2 of 14 -