À propos de l’algorithme APB
L’association Droits des Lycéens a interpellé le Ministère de l’Enseignement Supérieur afin d’obtenir toute la lumière sur le mécanisme d’affectation des bacheliers dans les filières universitaires, par le logiciel Admission Post Bac. À cette occasion, le Conseil Scientifique et le Conseil d’Administration de la Société informatique de France se sont interrogés sur le rôle et la responsabilité des informaticiens dans ce processus d’informatisation de la société. (En ce qui concerne l’administration publique, l’informatisation d’un service de l’école, de l’hôpital ou de la police pose des problèmes similaires.)
Le Conseil Scientifique et le Conseil d’Administration tiennent tout d’abord à souligner que le choix de la méthode d’affectation des bacheliers ne relève pas de l’informatique : il s’agit d’un choix politique, c’est-à-dire que les critères de choix doivent être définis par une instance politique et concernent tous les citoyens. Toutefois, de même que les médecins, bien que non responsables des choix de politique de santé, ont un devoir éthique de s’interroger sur leurs pratiques, les informaticiens ont le devoir de s’interroger sur le processus d’informatisation de l’administration publique.
Quand la mise en œuvre d’un choix politique est in fine réalisée par un programme informatique, son expression change de forme, car il est alors exprimé dans un langage différent de la langue juridique et administrative dans laquelle les choix politiques sont habituellement exprimés. Ceci crée pour les informaticiens chargés de leur mise en œuvre une responsabilité particulière. Ceux-ci doivent, entre autres choses, veiller à l’intelligibilité du cahier des charges et vérifier que sa mise en œuvre est conforme à la commande.
De manière plus générale, l’informatisation de l’administration est une occasion unique d’expliciter et de formaliser les processus décisionnels. Pour les citoyens, cela demande que le processus de conception des logiciels soit transparent et que le code soit rendu public. Cette transparence demande de publier non seulement l’algorithme, mais aussi le code, non seulement le code, mais aussi les spécifications, qui résultent de la traduction formelle du cahier des charges, les jeux de tests utilisés et les résultats de ces tests. Le code doit pouvoir être lu, mais aussi analysé. Il doit pouvoir être testé sur les données publiées, mais aussi sur d’autres jeux de données.
S’il est important que le code soit public, il est aussi important qu’il soit spécifié, c’est-à-dire, que l’on sache précisément ce qu’il est censé faire, et certifié par une autorité indépendante chargée de garantir l’adéquation entre le code et les spécifications. De tels processus de certification par une autorité indépendante sont fréquents dans l’industrie. L’administration doit s’inspirer des processus industriels pour atteindre la même qualité logicielle, même si l’administration présente des différences avec l’industrie. Le Conseil Scientifique et le Conseil d’Administration tiennent à souligner l’importance de l’existence d’instances de régulation chargées de veiller à ce que le code soit ouvert et certifié et qu’il corresponde aux choix politiques, et aussi d’une instance auprès de laquelle il soit possible de vérifier, et contester, une décision obtenue par l’utilisation d’un algorithme.
Pour connaître l’historique de « l’affaire du code APB », lire l’article du blog Binaire du Monde du 28 octobre.
Pour accéder aux règles de priorité données par le ministère en juin à la demande de l’association Droits des Lycéens, voir les règles.
Pour les 20 pages de code, rendez-vous ici.