Le système Admission post-bac (APB) utilise un algorithme pour répartir les candidats en prenant en compte plusieurs critères (académie, ordre des vœux…). Il s’agit en fait d’une série d’instructions logiques, ici écrites en langage informatique. Bref, de l’équivalent d’un arbre de décision.

Le Monde n’a pu consulter qu’un extrait du code source du logiciel, d’environ deux pages, soit une toute petite partie du contenu du programme, dont le fonctionnement et la maintenance sont assurés par l’Institut national polytechnique de Toulouse. Ecrites en langage PL/SQL – utilisé pour interagir avec les bases de données, également non publiques, qui contiennent les informations sur les élèves et leurs choix –, ces deux pages montrent en partie la retranscription, en langage informatique, des règles de classement des ordres des vœux.

Risques d’erreurs

Ces deux seules pages sont largement insuffisantes pour déterminer si les instructions informatiques appliquent correctement les critères déterminés et rendus publics par le ministère pour orienter les élèves. Seul un examen exhaustif du code permettrait de détecter d’éventuelles erreurs. Le ministère explique cette discrétion « par des raisons de sécurité, afin d’éviter les attaques informatiques », mais aussi « par souci de compréhension, le code source faisant 250 pages de lignes de codes incompréhensibles ».

Ce motif avancé est à double tranchant : d’éventuels bugs ou failles de sécurité pourraient être exploités par des tiers si le code source était public, mais ces mêmes défauts pourraient alors être corrigés, et le fonctionnement du logiciel amélioré. A terme, le projet de loi « pour une République numérique » prévoit d’ailleurs que le code source de tous les logiciels conçus par les administrations soit rendu public.

Dans tous les cas, le risque de découvrir une erreur « majeure » dans le code de l’algorithme APB est faible : le programme est utilisé depuis des années, sans qu’un problème général ait été signalé.