Les faits
La publication de l’algorithme d’APB (Admission Post-Bac, l’application qui gère les affectations des lycéens dans l’enseignement supérieur) a beaucoup fait parler hier et avant-hier parmi les gens qui s’intéressent à l’éducation et, surtout, à l’open data, au logiciel libre et d’une façon générale à la transparence des services publics numériques.
Bref rappel des faits : l’association Droit des lycéens a demandé au Ministère de l’Éducation nationale, de l’Enseignement supérieur et de la Recherche de lui communiquer la façon dont les affectations sont déterminées. Après avoir donné une réponse décrivant en général le fonctionnement et face à l’insistance de l’association, le ministère lui a envoyé un courrier papier contenant une fonction SQL de 400 lignes environ…
On pourra lire une récapitulation plus détaillée de ces faits et les réactions à cette publication dans cet article de Wally Bordas sur Diplomeo, ainsi qu’une première analyse du code par Guillaume Ouattara sur son blog L’ingénu ingénieur.
Mauvaise foi bureaucratique
Ce qui m’intéresse surtout ici, c’est la démarche du Ministère. Je suis depuis longtemps un thuriféraire du logiciel libre et je suis convaincu de l’intérêt de l’open data et de ce qu’on appelle le gouvernement ouvert. Plus généralement, il me semble indispensable que les citoyens puissent connaître les algorithmes qui déterminent leurs vies, en particulier quand ces algorithmes relèvent d’une mission de service public. Par conséquent, je ne peux qu’applaudir des deux mains quand un ministère publie un de ses algorithmes (je fais abstraction des atermoiements et des réticences préalables).
Dans un tweet, Axelle Lemaire, la Secrétaire d’État au numérique et à l’innovation, s’est félicitée de l’innovation que constitue cette publication, tout en reconnaissant que des points restent à améliorer :
La nlle loi exige la lisibilité du code transmis.
Oui il faut faire mieux. Mais combien de pays ouvrent leurs codes? #verreamoitieplein https://t.co/17Q7pQLL5R— Axelle Lemaire (@axellelemaire) 18 octobre 2016
Je travaille depuis de nombreuses années dans, avec et pour des administrations, nationales ou locales. Je sais bien quels peuvent être les freins et les difficultés techniques et administratives qui peuvent s’opposer à une action optimale. Je sais que les agents de ces administrations manquent souvent de temps, parfois de compétence (on peut être un spécialiste de son domaine sans être un spécialiste de la communication des données) ou de moyens pour traiter des tâches qui leur semblent périphériques à leur mission comme l’open data. C’est ce qu’Axelle Lemaire a l’air de penser. En ce qui me concerne, je ne vois pas d’autre explication que la mauvaise volonté des services du Ministère de l’Éducation nationale. Là où Axelle Lemaire voit « un verre à moitié plein », je vois un calice débordant d’atrabile.
Je le rappelle, le Ministère a envoyé du SQL sans aucune documentation sur la structure des données sous-jacentes. Pour les non spécialiste, le SQL est un langage qui sert à interroger des bases de données ; le sens des ‘phrases’ écrites dans ce langage, qu’on appelle des requêtes, dépend donc beaucoup de la base de données à laquelle elles s’appliquent. Or il n’y a pas d’informations à ce sujet dans le courrier du ministère. Aucun informaticien ne donnerait de bonne foi un morceau de code ainsi sans fournir aucune indication sur la façon dont il est utilisé. De fait, on voit bien que l’analyse de Guillaume Ouattara que j’ai déjà citée s’apparente à du reverse engineering. Est-ce ainsi qu’on conçoit la transparence de l’action publique ?
Si cette preuve de la mauvaise volonté du ministère ne suffisait pas, une autre, éclatante, est le fait que le code ait été transmis sous un format papier. Bien sûr, ce n’est pas un très gros obstacle et on a pu très vite l’avoir sous une forme numérique (ici par exemple), mais c’est une façon un peu mesquine de traîner les pieds.
L’impression qui se dégage de toute cette affaire est quand même que quelqu’un a dit « Envoie-leur quelque chose, qu’ils cessent de nous importuner » (plût au ciel que cet ordre ait été exprimé dans un langage aussi châtié 🙂 ).
Pourquoi cette mauvaise volonté ?
C’est la question centrale, car elle nous renseigne sur l’ensemble de la démarche de gouvernement ouvert.
Je ne crois pas, disons-le d’emblée, à une raison politique. Il n’y a pas de complot gouvernemental pour cacher l’algorithme d’APB (désolé pour mes lecteurs complotistes). Je crois aussi qu’Axelle Lemaire est de bonne foi quand elle se réjouit de cette publication.
Il me semble que c’est plutôt dans les rouages de l’administration qu’il faut chercher les raisons. Je n’espère pas les trouver. Peut-être s’agit-il de la fierté d’un développeur qui ne veut pas qu’on lise ce qu’il a écrit, de peur qu’on y trouve un bug, des fautes d’orthographe dans les commentaires ou des conventions de nommage un peu hasardeuses. Plus vraisemblablement, il s’agit de la crainte qu’on reproche à l’administration des choix minuscules qu’elle n’aurait pas dû faire : quand on développe un logiciel, on est amené, naturellement, à prendre beaucoup de décisions arbitraires, qui relèvent de la technique et qui n’ont pas lieu d’être discutées par les « vrais » décisionnaires (élus, directions générales etc.). Ce sont des petits choix tactiques faits parce qu’ils sont plus simples à coder, parce qu’ils permettent de contourner un obstacle etc. Chacun de ces choix individuels est insignifiant, mais mis bout à bout et par effets de bord, ils peuvent avoir des conséquences importantes, sans que ceux qui les ont faits s’en rendent compte.
L’intérêt d’ouvrir le code, surtout du code qui peut affecter la vie de nombreux citoyens (comme un logiciel qui décide de l’orientation des étudiants), est précisément qu’un œil neuf et qui a d’autres biais que les créateurs (une association étudiante n’est pas attentive aux mêmes points qu’un informaticien de ministère) puissent trouver ces effets indésirables ou inattendus pour aider à les corriger. Et si cet examen révèle qu’il est nécessaire de prendre de vraies décisions stratégiques, elles pourront être discutées selon les modalités normales de la démocratie, au lieu qu’un individu ait à assumer seul face à sa conscience une responsabilité qui n’est pas la sienne.
Ce sont ces réticences, ces réactions épidermiques qui sont un véritable obstacle à un gouvernement ouvert. Les règlements, quelque coercitifs qu’ils puissent être, ne peuvent pas suffire à assurer que la publication des données et des algorithmes publics sera efficace. Il faut que chaque agent comprenne le sens de cette démarche, qu’il y trouve un intérêt, dans son métier et en tant que citoyen. Pour cela, il est nécessaire de développer une culture des données et des algorithmes dans les administrations, mais aussi auprès du grand public et en particulier à l’école. Ainsi, il paraîtra naturel à tous les services de publier leurs algorithmes très tôt, avant même qu’on puisse leur reprocher quelque chose, que les questions qui se posent puissent être posées avant d’avoir des conséquences fâcheuses. Faute de cet effort, forcément de long terme, on s’expose au risque d’administrations qui, comme le Ministère de l’Éducation nationale dans cette affaire, respecte la lettre de son obligation, mais pas l’esprit.