His maternal grandfather played football for ten years and later served as president of Ouagadougou Shooting Star while his mother was a member of the national handball team.
[9] Lafont spent little more than a year in the academy at Toulouse before club manager Dominique Arribagé handed him his Ligue 1 debut on 28 November 2015 against OGC Nice.
[12] Having replaced Ali Ahamada and Mauro Goicoechea as Toulouse's starting goalkeeper, Lafont kept clean sheets in his first two competitive fixtures before finally conceding in a 3–2 loss against Lorient on 5 December 2015.
In January 2016, Lafont was named as the 34th best U-20 player in the world by Italian publication La Gazzetta dello Sport and featured as one of only two goalkeepers on the list alongside AC Milan's Gianluigi Donnarumma.
[13] Having been 10 points adrift of safety at the time of Lafont's introduction into the first team, Toulouse managed to avoid relegation on the final day of the season, thanks in part to the eight clean sheets he kept in his 24 appearances for the campaign.
[16] On 22 October he was named as the man of the match for his performance in Toulouse's 0–0 draw with Angers, with his form in goal earning him his fourth clean sheet in only his tenth league appearance for the campaign.
[26][27] He ultimately made 38 appearances for the season but the campaign was one of indifference, with Lafont's impressive repertoire of saves matched by a string of high-profile errors.
[28] On 29 June 2019, having lost his place to Bartłomiej Drągowski, Lafont returned to France where he joined Nantes on a two-season-long loan as a replacement for the departing Ciprian Tătărușanu.
Lafont was, however, not selected for France's 2016 European Under-17 Championship squad after Toulouse lobbied for him to remain with the club for their last two games of the season to aid their relegation battle.
[38] In January 2016, relatives of Lafont were among the 30 people killed in the Ouagadougou attacks when a group of armed gunmen opened fire in a Cappuccino restaurant.