Using http://fahrplan.sbb.ch I suggest the following:
2013.06.10 - evening before, take a train from Bons-en-Chablais to central Geneva and stay in hotel there. Early next morning take train or bus to airport. First connections get you to the airport around 5am which is plenty of time for a 0640 flight. Or get your pal to drive you there that evening.
Pasting a bit scrappy but you should see the idea
4
Show details for connection 4
Local area map: Bons-en-Chablais
Bons-en-Chablais Tu, 19.03.13 dep 19:01 1:23 4 RE, TRAM, BUS, IC
1. 2.
Fare/Buy
Local area map: Genève-Aéroport
Genève-Aéroport arr 20:24
Connection 55
Show details for connection 5
Local area map: Bons-en-Chablais
Bons-en-Chablais Tu, 19.03.13 dep 19:01 1:26 3 RE, TRAM, BUS
(cant lookup French trains for June yet on swiss web...)
4
Show details for connection 4
Local area map: Genève
Genève Tu, 19.03.13 dep 04:43 0:13 0 RE
1. 2.
Fare/Buy
Local area map: Genève-Aéroport
Genève-Aéroport arr 04:50
Connection 55
Show details for connection 5
Local area map: Genève, 22-Cantons
Genève, 22-Cantons Tu, 19.03.13 dep 04:45 0:27 0 TRO
Fare/Buy
Local area map: Genève, Aéroport (TPG)
Genève, Aéroport (TPG) arr 05:.....