En 2023, j'ai eu la chance de participer au concours Master Dev France et j'espérais pouvoir retenter ma chance l'année suivante. Malheureusement, le concours n’a pas eu lieu en 2024 donc me voici de retour en 2025 avec des nouveaux défis à relever.
Master Dev France
Tout d’abord un rappel sur ce qu’est le Master Dev France.
Il s’agit d’un salon organisé par Docaposte qui réunit plus de 1000 développeurs chaque année pour participer à une compétition de code.
Cette année, le salon a déménagé à Montreuil, au Paris Montreuil Expo.
L’IA a été particulièrement mise à l'honneur avec le thème « L’avenir de l’IA c’est l’humain ».
Ce thème se retrouvait dans le concours, mais également dans les conférences auxquelles nous pouvions assister.
Conférences
Master Dev France, ce n’est pas qu’un concours, il y a également des conférences proposées par de nombreux intervenants. Cette année c’était plus de 20 conférences proposées par 80 intervenants venant de différents horizons : entreprises, universités, chercheurs, organismes publics, …
Les conférences tournaient principalement autour du thème de l’IA mais on pouvait également voir des conférences sur le hacking, les écoles et l’avenir de la tech de manière générale.
J’ai pu de mon côté assister à 2 conférences le matin.
Les IA sont-elles éthiques ?
Pour résumer : non.
En effet l’IA est considérée comme un outil et un algorithme informatique et n’a donc pas de sens éthique par définition.
Dans les faits, c’est un peu plus compliqué que ça et il s’agit de questionner l’usage de l’IA d’un point de vue éthique, juridique et politique.
On peut alors réfléchir en amont sur l’usage de l’IA. Est-ce qu’on doit mettre des barrières, selon le contexte (sécurité, santé, …), imposer des contrôles humains ou questionner la responsabilité en cas d’accident ?
En Europe la législation AI Act est une première réponse à ces problématiques mais des réflexions peuvent être menées à tous les niveaux de la société.
Numérique responsable : les enjeux de demain
Cette conférence permettait d’avoir un état chiffré et à jour de l’impact écologique et environnemental du numérique.
Comme vous le savez peut-être déjà, l’impact principal de l’usage du numérique repose sur les terminaux utilisateurs (smartphones, ordinateurs, TV) et principalement à la construction. Notre rôle en tant que développeur devient alors de limiter le renouvellement des appareils, en assurant par exemple la rétrocompatibilité ou la consommation limitée de ressource.
Mais l’arrivée de l’IA générative change la donne. En effet, plusieurs projets de datacenter de 1 Gigawatt ont été annoncés (dont un en France). 1 Gigawatt, c’est l’équivalent de la consommation électrique d’une ville comme Marseille. Il est donc nécessaire de questionner l’usage de l’IA dans les services que nous développons et dans notre usage au quotidien si on veut limiter l’impact du numérique sur le long terme.
Le concours
Après ces réflexions sur l’IA et sur l’usage du numérique, venons au sujet qui intéresse tout le monde : le concours de code.
Participation de Sopra Steria
Cette année, nous étions 20 développeurs à participer avec Sopra Steria. Un concours interne (de haut niveau) a permis de sélectionner les 20 meilleurs d’entre nous pour participer au concours Master Dev.

Qualifications
Tous les développeurs ont été répartis dans 4 sessions de qualification. Chaque session durait 45 minutes et les 45 meilleurs étaient sélectionnés pour la finale.
Cette année, il y avait 2 nouveautés.
La première nouveauté était sur l’usage autorisé et encouragé de l’IA pour résoudre les exercices.
La deuxième nouveauté était sur les exercices en eux-mêmes.
Sur les années précédentes, nous avions 3 exercices d’algorithmie à résoudre avec un programme informatique.
Cette année, il y avait 1 exercice d’algorithmie et 1 exercice d’optimisation à résoudre avec le langage de notre choix. Le classement reposait intégralement sur l’exercice d’optimisation, le premier exercice étant en fait une introduction à celui d’optimisation.
Pour mieux comprendre, je vais illustrer avec ma session de qualification.
Le premier exercice était le suivant :
Nous avons un livreur de pizza qui peut transporter un nombre limité de pizza.
Nous avons ensuite une série de commandes, à prendre dans l’ordre, avec un nombre de pizzas à chaque commande.
Notre programme doit calculer la liste des commandes qu’on peut envoyer à chaque livraison sans dépasser la limite de transport.
Par exemple si on a une limite de 10 pizzas et les commandes suivantes :
- 0 : 3 pizzas
- 1 : 4 pizzas
- 2 : 9 pizzas
- 3 : 2 pizzas
- 4 : 3 pizzas
Le résultat attendu est :
En effet, la première livraison s’arrêtera aux 2 premières commandes avec un total de 7 pizzas, la commande suivante dépassant la limite de 10. Puis la livraison suivante n’aura qu’une commande de 9 pizzas et enfin la dernière livraison prendra toutes les livraisons restantes pour 5 pizzas.
Ce premier exercice se résout très rapidement à l’aide de Copilot et on comprend alors que le challenge réel sera l’exercice d’optimisation.
L’exercice d’optimisation est la suite logique du précédent. Cette fois on peut prendre les commandes dans n’importe quel ordre mais on ajoute des coordonnées à chaque commande.
Le but est de calculer les livraisons les plus optimisées pour réduire la distance totale parcourue pour livrer toutes les commandes, sachant qu’il faut retourner à la pizzeria entre chaque livraison et qu’on ne peut toujours pas dépasser la limite de transport.
A partir de la solution soumise, un score est attribué allant de 0 à 1 000 000 pour chaque jeu de données, en fonction de la distance totale parcourue par notre solution.
- 0 étant le score le plus faible, si on livre les commandes une par une
- 1 000 000 étant le score le plus élevé mais impossible à atteindre car il correspondrait à une distance totale parcourue de 0 km.
Avec 5 jeux de données, le score maximal théorique était donc de 5 000 000. Et c’est ce score qui permettait de déterminer les 45 vainqueurs.
J’ai pour ma part réussi à terminer 22e avec 3 257 273 points en optimisant notamment sur la sélection de la commande la plus proche de la précédente commande réalisée.
Cela m’a donc permis d’être sélectionné pour la finale.
Pour vous donner un ordre d’idée, les scores des qualifiés étaient entre 3 158 000 et 3 391 000 points.
Finale
La finale réunissait les 180 développeurs ayant passé les qualifications et durait 50 minutes.
Il n’y avait plus qu’un seul exercice d’optimisation mais plus complexe (en même temps si on est arrivé là, on a compris qu’on n’avait plus besoin de l’exercice d’introduction).
A noter que quelques irréductibles ont réussi à se qualifier sans utiliser l’IA, bravo à eux.
Ici, l’exercice ressemblait un peu à notre session de qualification.
Il s’agissait cette fois de transporter des colis avec des véhicules de 2 types différents
- Des vélos qui ont une consommation CO2 faible mais avec une limite sur le poids transporté, la distance max parcourue et le nombre d’arrêt possible.
- Des camions qui ont une consommation CO2 plus importante mais avec également des limites plus élevées.
Notre solution devait calculer l’emplacement du dépôt (le point de départ de toutes les livraisons) ainsi que la répartition des commandes entre les véhicules afin d’optimiser la consommation CO2 totale de nos livraisons tout en respectant les limites des véhicules.
Il y avait cette fois beaucoup plus de paramètres à prendre en compte.
De la même manière, un score était attribué à chaque solution. Avec 10 jeux de données, le score théorique maximal était donc de 10 000 000 (mais encore une fois impossible à atteindre).
J’ai terminé pile dans le top 100, en étant 99e avec 4 439 047 points.
Le meilleur a réussi à avoir plus de 8 500 000 points et est reparti avec un joli chèque de 10 000 €.
Conclusion
Les nouveautés proposées cette années étaient très intéressantes et changeaient des exercices d’algorithmie qu’on peut être habitué à voir dans ce genre de concours. Les IA comme ChatGPT ou Copilot sont devenues assez fortes pour répondre aux exercices simples plus rapidement que des développeurs.
Mais quand on arrive aux nouveaux exercices d’optimisations, on voit que l’IA a toujours besoin de l’humain. En effet, les premières solutions proposées par l’IA étaient loin d’être optimisées et ne donnaient pas beaucoup de points. Il s’agissait alors de suggérer des axes d’optimisations à l’IA ou de modifier manuellement le code généré pour avoir la meilleure solution possible.
Nous pouvons donc être rassuré : notre métier n’est pas encore prêt d’être remplacé par l’IA. L’IA est un bon outil pour nous aider à écrire le code que nous souhaitons, mais il faut avant tout un cerveau humain et nos compétences de développeur pour donner les bonnes instructions et les bonnes idées d’amélioration.
Si vous souhaitez vous-même essayer, vous pouvez accéder au lien suivant : https://www.isograd-testingservices.com/FR/solutions-challenges-de-code
Vous aurez accès à tous les challenges de cette année.
Bonus CommitStrip

https://www.commitstrip.com/fr/