Several years ago, I was booked on a DL codeshare with KE HNL-SEL non-stop, and used SWUs to upgrade to C. I ticketed and surrendered the SWUs. DL cancelled its codeshare with KE and re-routed me HNL-LAX-PDX-SEL on DL metal, and protected my upgrades. This routing required an overnight stay at PDX, and DL offered to put me up at a PDX airport hotel, with meal vouchers.
Well, as luck would have it DL cancelled its PDX-SEL flight. DL offered me several choices - 1) full cash refund, not a DL transportation voucher, and two replacement SWU certs; 2) HNL-LAX-SFO on DL metal connecting to KE SFO-SEL (with upgrades intact including C on KE), or 3) HNL-LAX-SFO on DL metal connecting to UA SFO-SEL (no upgrade to C on UA). They offered to count the KE and UA segments as DL segments with full base mileage and medallion bonus. I chose KE.
See if your friend can get AF to pay for the overnighter at CDG, re-route on another carrier, or offer a full refund. I was impressed with the manner in which DL handled my situation. Hopefully, AF will come up with something similar for your friend.