URL: https://linuxfr.org/news/audit-du-code-source-de-parcoursup-par-la-cour-des-comptes Title: Audit du code source de Parcoursup par la Cour des comptes Authors: Stefane Fermigier Davy Defaud Date: 2020-05-18T17:45:31+02:00 License: CC by-sa Tags: Score: 7 La Cour des comptes a publié il y a quelques semaines un rapport de deux cents pages consacré à « l’accès à l’enseignement supérieur », et notamment à son application emblématique, Parcoursup. Le rapport contient notamment de longs passages consacrés à la qualité du code publié. On peut retenir à ce sujet deux points cruciaux et plutôt désolants : - seul environ 1 % du code source de l’application [a été publié](https://linuxfr.org/users/rewind/journaux/parcoursup-le-code) (en 2018), contrairement à la décision des pouvoirs publics annoncée en 2017 de « permettre une totale transparence sur l’affectation des candidats » ; - la qualité du code audité est qualifiée par la Cour des comptes de « médiocre », avec « un niveau de risque élevé et de nombreuses violations critiques identifiées », la Cour évoque un code qui « n’a pas été produit selon les standards professionnels » et d’un « processus de développement [qui n’a pas été] mené dans les règles de l’art ». D’un point de vue technique, on apprend dans le rapport que l’application est constituée de 858 752 lignes de SQL (!) et 11 331 de Java. Plus d’extraits du rapport en cliquant sur « lire la suite ». ---- [L’annonce de la Cour des comptes](https://www.ccomptes.fr/fr/publications/acces-lenseignement-superieur-premier-bilan-de-la-loi-orientation-et-reussite-des) [Le rapport (PDF, 200 pages)](https://www.ccomptes.fr/system/files/2020-03/20200227-rapport-premier-bilan-loi-ORE-3.pdf) [Les premiers commentaires sur LinuxFr.org (2018)](https://linuxfr.org/users/rewind/journaux/parcoursup-le-code) [Le rapport de la mission Etalab sur les conditions d’ouverture du système Admission Post‑Bac (2017)](https://www.data.gouv.fr/en/datasets/rapport-sur-les-conditions-douverture-du-systeme-admission-post-bac/) ---- Plus d’extraits du rapports (c’est nous qui soulignons) : > **En dépit des actions de mise en transparence du ministère, le code source de Parcoursup reste à 99 % fermé**. La partie publiée demeure d’un intérêt limité pour comprendre, expertiser, et évaluer le processus d’affectation des candidats dans les formations. **Les données de Parcoursup, particulièrement riches, ne font pas l’objet d’une valorisation à la hauteur des enjeux**, non seulement par les acteurs de la recherche et de l’innovation, mais aussi par l’administration elle‑même, tant les moyens matériels et humains pour permettre leur exploitation sont insuffisants. > **Les résultats ainsi produits suggèrent que l’application Parcoursup présente une qualité médiocre**, avec un niveau de risque élevé et de nombreuses violations critiques identifiées. Parcoursup se situe à un niveau de qualité plus faible que d’autres logiciels d’ancienneté similaire. Plus précisément, les indices d’efficience et de sécurité ainsi évalués montrent que le risque de rupture du fonctionnement normal de Parcoursup est élevé. > Parcoursup est composé d’un code source public et d’un code source fermé. Malgré sa petite taille, le code source qui a été rendu public et qui est récent présente un niveau de risque comparable au code non public. À titre de comparaison, les applications de moins de deux ans devraient présenter un risque plus faible. Par ailleurs, le code ouvert présente une densité de violations critiques bien plus importante que le code fermé. D’après le ministère, **le code Java public, qui « n’a pas été produit selon les standards professionnels », ne peut être analysé avec les métriques de l’audit car elles ne sont pas adaptées à ce mode de production artisanal**. > **Le dispositif présente ainsi un risque de rupture de service. Il n’est pas non plus à l’abri d’une intrusion comme en témoigne un autre audit de sécurité du code source**, réalisé en juillet 2018 à la demande du ministère, et qui souligne un risque de sécurité « très élevé » pour l’application. Cette situation doit être corrigée rapidement. À la fin 2019, le ministère souligne qu’une « démarche de certification du code Parcoursup a été initiée avec les équipes de recherche du laboratoire de recherche en informatique de Saclay ainsi que du laboratoire bordelais de recherche en informatique ». > […] d’autant que **l’échantillonnage n’a pas permis de trouver les traces d’un processus de développement mené dans les règles de l’art**. Le code actuel est en effet d’une facture plus artisanale. Il serait souhaitable d’introduire un processus de développement moderne et éprouvé afin d’assurer une évolution fiable et maîtrisée de l’application. > **Le code de Parcoursup présente un niveau de complexité anormalement élevé**. Les composantes complexes représentent 27 % du volume de code, ce qui est bien plus élevé que le plafond de 5 à 7 % recommandé par les standards des professionnels du secteur. Avec un tel niveau de complexité, la mise en œuvre d’évolutions fonctionnelles risque d’introduire des erreurs. Le ministère ne partage pas cet avis et invoque la complexité du système d’enseignement français et la variété des parcours proposés. Pour la Cour, le code source devrait être restructuré afin de réduire le nombre de ses composantes complexes. > En 2017, la mission Etalab, appuyée par l’ANSSI, recommandait, en pleine convergence avec le rapport de la Cour de la même année, « de publier […] le code source de la dernière version d’APB et les données non réidentifiantes associées ». Par décision des pouvoirs publics, le code informatique de Parcoursup est réputé avoir été rendu public afin de permettre une totale transparence sur l’affectation des candidats. La Cour a réalisé un audit du code source de Parcoursup sur un volume de lignes de code cent fois plus important que le code publié par le ministère. > **À ce jour, une très faible partie du code de Parcoursup a été rendue publique. Le code publié par le MESRI le 21 mai 2018 représente au plus 1 % du nombre de lignes de code et moins de 2 % des fichiers** produits dans le cadre de l’exercice des missions dévolues à l’opérateur de la plate‑forme. > **Dans le cadre de cet audit, 1 582 violations critiques ont été identifiées**. Il s’agit de failles dans le code qui doivent être corrigées rapidement.