Colin spent his youth career as an amateur with a number of clubs in the Nord-Pas-de-Calaisregion, most notably Arras and Avion. Having begun his career as a forward, Colin subsequently moved to right back. He was not a member of any club's centre of excellence because his parents prioritised his education. After gaining his baccalauréat, he completed the first year of medical studies with the intention of becoming a physiotherapist. He joined Ligue 1 club Boulogne in 2009, and spent a season with the Division d'Honneur team. Ahead of the 2010–11 season, he trained with the first teamnewly relegated to Ligue 2and was offered a three-year professional contract. He signed, knowing that he had the right to postpone his studies for up to five years so could always return to college if he did not succeed at football. He broke into the team in September, and went on to make 26 appearances during the 2010–11 Ligue 2 season, all as a member of the starting eleven. He played in around half the matches the following season as Boulogne suffered another relegation. Colin's 56th and final appearance for the club came in a home defeat to Créteil in the Championnat National on 28 August 2012.
Troyes
Colin moved back up to Ligue 1 to sign for Troyes on 3 September 2012. He was in and out of the team during the 2012–13 Ligue 1 season, making 24 appearances as they reached the semi-final of the Coupe de France but were relegated to Ligue 2. Colin was an undisputed first choice during 2013–14, making 42 appearances as Troyes finished in mid-table and went out of the Coupe de la Ligue at the semi-final stage. He made three appearances early in the 2014–15 season, which took his total to 69 over two years with the club.
Anderlecht
Colin signed a three-year contract with Belgian Pro League club Anderlecht on 28 August 2014. He made his debut with a start in a 2–2 draw with Lierse on 13 September and scored the first goal of his senior career on Boxing Day in a 4–0 victory over Westerlo. Colin made his debut in European football on 19 February 2015 in a goalless draw with Dynamo Moscow in the Europa League round of 32, and played in six of Anderlecht's seven matches in the 2014–15 Belgian Cup; he started in the final, which they lost 2–1 to Club Brugge. He made 24 appearances and scored once during the 2014–15 season, helping Anderlecht qualify for the Europa League, and made one final appearance early in the 2015–16 season. He was willing to leave because, with three right backs at the club, the coach could not guarantee him as many matches as he wanted.
Brentford
On 14 August 2015, Colin signed a four-year contract with English Championship club Brentford for an undisclosed fee. He made his debut as a 58th-minute substitute for Akaki Gogia in a 1–0 defeat to Burnley nine days later, and started the next three matches, but a knee ligament injury suffered in training in mid-September ruled him out for three months. He returned with a start in a 4–2 victory over Huddersfield Town. Apart from a four-match absence due to a groin injury suffered in late February 2016, Colin continued as a regular until the end of the season. Colin returned fully fit for 2016–17pre-season, but missed the first two matches of the regular season because of a calf injury. He scored his first Bees goal during a 4–1 win over Reading on 27 September and followed with a further three goals during the season. Colin's season came to an end on 22 April 2017, his 40th appearance, when injury forced his substitution after 71 minutes of a 3–1 victory over West London rivalsQueens Park Rangers. He began the 2017–18 season behind new signing Henrik Dalsgaard in the right back pecking order and instead deputised for the injured Rico Henry in an unfamiliar left-back position.
Birmingham City
Colin signed a four-year contract with another Championship club, Birmingham City, on 31 August 2017, becoming the third Brentford player, after Jota and Harlee Dean, to make the same move; the fee was undisclosed. He was one of six debutants in the next match, away to Norwich City; he played the whole match and was yellow-carded in the first half as his team lost 1–0. On his home debutplaying at left back to accommodate Emilio Nsue on the rightColin controlled a ball over the top "and with his back to goal produced a brilliant turn which saw the whole goal open up. He then lashed a low shot which went through for Blues' first goal in more than six hours of football" to open the scoring against Preston North End, who went on to win 3–1. He missed six matches in November and December because of a torn hamstring, and was otherwise ever-present in league competition. He was used primarily at right back, but switched to the left when Jonathan Grounds was injured to accommodate the right-footed youngster Wes Harding. His second season ran similarly to his first. He was undisputed first choice at right back, spent some time on the left when Kristian Pedersen was injured, and missed three games in March with a hamstring injury: Birmingham lost all three and failed to score.
International career
Colin won seven caps for the France U20 team in 2011. He was named in the squad for the 2011 U20 World Cup and made appearances against Colombia and Mexico as France finished fourth in the tournament.