Connexion
Abonnez-vous

[Maj] Parcoursup : six ans après, la promesse d’ouvrir le code n’est pas tenue, Ouvre-boîte « pas surprise »

La saga continue

[Maj] Parcoursup : six ans après, la promesse d’ouvrir le code n’est pas tenue, Ouvre-boîte « pas surprise »

Début novembre 2023, le Tribunal administratif de Paris a rejeté la demande de l'association Ouvre-boîte qui voulait accéder au code source complet de Parcoursup. Il confirme que les vulnérabilités dans le code évoquées par le ministère sont évoquées « à bon droit » pour rejeter la demande.

Le 06 février à 09h13

Mise à jour le 6 février à 9:13 : ajouts des réactions de l'association Ouvre-boîte contactée par Next.

Article publié initialement le 5 février à 15:06

Parcoursup et la demande de publication de son code source, c'est maintenant une longue histoire. Déjà, en 2018, Next INpact saisissait la CADA pour y avoir accès. En vain, en tout cas pour l'intégralité du code.

Pourtant, le gouvernement qui a mis en place la plateforme avait promis de publier le code de cette plateforme qui concerne tous les lycéens de France. « La totalité des algorithmes seront publiés », affirmait sur Public Sénat le 24 avril 2018 Frédérique Vidal, ministre de l'Enseignement supérieur et de la recherche de l'époque.

99 % du code non publié en 2020 selon la Cour des comptes

Une partie du code a, certes, été publiée (accessible maintenant sur un Gitlab hébergé sur un sous-domaine de mim-libre.fr possédé par le ministère de l'Éducation après avoir déménagé du Gitlab de Framasoft).

Mais pour l'association Ouvre-boîte, elle n'est que la partie émergée de l'iceberg. D'une part, il reste les fameux « algorithmes locaux » de sélection des étudiants, le conseil d'État s'étant opposé à leur publication.

D'autre part, comme le faisait remarquer la Cour des comptes en février 2020 dans un premier bilan de la loi qui a créé Parcoursup [PDF], « à 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 plateforme ».

En particulier, l'analyse du code faite par la Cour des comptes dans le tableau ci-dessous, relevait que la plupart du code SQL n'était pas publié.

Relance de la procédure par Ouvre-boîte

L'association Ouvre-boîte s'est appuyée sur ce constat de la Cour des comptes pour faire une nouvelle demande du code source SQL complet de Parcoursup au ministère en juin 2020, puis a saisi la CADA deux mois après.

Ces demandes n'ayant pas reçu de réponse, l'association a déposé une requête auprès du Tribunal administratif de Paris en octobre 2021 (finalement, la CADA a donné un avis favorable début 2022 mais le ministère n'a pas répondu).

Ouvre-boîte rappelait dans sa requête que le Code des relations entre le public et l'administration prévoit que « sont considérés comme documents administratifs, au sens des titres Ier, III et IV du présent livre, quels que soient leur date, leur lieu de conservation, leur forme et leur support, les documents produits ou reçus, dans le cadre de leur mission de service public, par l'État, les collectivités territoriales ainsi que par les autres personnes de droit public ou les personnes de droit privé chargées d'une telle mission. Constituent de tels documents notamment les dossiers, rapports, études, comptes rendus, procès-verbaux, statistiques, instructions, circulaires, notes et réponses ministérielles, correspondances, avis, prévisions, codes sources et décisions ».

Des vulnérabilités qui porteraient « atteinte à la sécurité des systèmes d’information de l’administration »

Mais deux ans après, le tribunal administratif a donné raison au ministère. Dans sa décision [PDF], la cour justifie son refus par le fait que « des recommandations du prestataire externe en cybersécurité du ministère chargé de l’enseignement supérieur, en date du 7 septembre 2022 », expliquent que « la publication en ligne du code source complet de l’application Parcoursup en laisserait apparaître les vulnérabilités et serait, ainsi, susceptible de porter atteinte à la sécurité des systèmes d’information de l’administration ».

Le média Acteurs Publics s'est procuré une note [PDF] sur laquelle s'est appuyé le ministère pour justifier cette position. Elle est rédigée par le responsable du pôle national de compétence en sécurité des systèmes d’information du ministère de l’Éducation nationale.

Obscurité et confidentialité, une nuance peu visible

Dans cette note, il se justifie d'utiliser « la sécurité par la confidentialité comme moyen de défense en profondeur » pour Parcoursup et insiste pour que celle-ci ne soit pas confondue avec la « mauvaise pratique appelée sécurité par l’obscurité ». La différence (peu convaincante) serait dans les buts qui diffèrent entre l'une et l'autre.

Résultat, il juge que « dans le cas de Parcoursup, cette divulgation [du code] correspond à une prise de risques qui n’apporte rien au regard de la nécessaire transparence vis-à-vis des usagers ». C'est en tout cas le même résultat qu'avec la sécurité par l'obscurité : le code n'est pas publié.

Interrogée par Next, l'association Ouvre-boîte n'est pas étonnée par le jugement : « Nous ne sommes pas surpris par la décision du tribunal administratif, le secret de la sécurité des systèmes d’information de l’administration étant un de ces secrets aux contours flous, qu'il est facile d'invoquer de la part d'une administration. Ce secret a ceci de pernicieux (ce n'est pas le seul) qu'il protège davantage les codes sources et les bases de données de mauvaise qualité. Il désincite donc les administrations à adopter de bonnes pratiques en matière de systèmes d'information ».

Sur le réseau social X, anciennement Twitter, le député Renaissance Éric Bothorel a réagi d'un « c’est pas le pire argument de l’année ça ?  ».

À nos confrères de l'Informé qui ont publié un article début décembre sur le sujet, Michel Blancard, administrateur et fondateur d’Ouvre-boîte, a expliqué que l'administration s’est engagée, à l'audience, à publier le code en intégralité d’ici décembre 2029. L'association précise à Next que cette publication devrait se faire progressivement d'ici là, selon le représentant du ministère au tribunal.

Ouve-boîte ajoute, dans sa réponse à Next, qu' « il est regrettable que, six ans après la promesse présidentielle d'ouvrir ce code source, le ministère de l'Enseignement supérieur ne soit pas en mesure de réaliser cette dernière ».

Commentaires (36)

Vous devez être abonné pour pouvoir commenter.

Abonnez-vous
votre avatar
Moins de 4000 lignes de code et 850 000 lignes de SQL dans l'appli... alors là, j'y crois moyen. M'est d'avis que leur analyseur s'est bien planté.
votre avatar
Le problème, c'est qu'on n'a pas le code pour vérifier ^^
votre avatar
J'ai déjà bossé sur des projets institutionnels dans lesquels le gros du code métier était déporté dans des procédures stockées TSQL (et c'est infâme sur tous les plans, oui). Cela pourrait sans problème expliquer le ratio java/sql.
Et pour enfoncer le clou, laisser supposer de l'absence d'ORM (là ok, surprenant mais pas choquant).
Mais comme évoqué, sans les sources, on ne peut statuer de rien.
votre avatar
Pour avoir vu des ERP dont 90% du code source c'était du PL/SQL dans Oracle, perso ça me surprend pas non plus.
votre avatar
Alors ca a ses avantages (et ses inconveniants).

En gros si bien fait, la partie en java/go/rust/php/whatever n'a pas a gérer l'intégrité des données (et des relations entre elles), le code dans la base s'en charge, surtout avec la possibilié de faire un rollback s'il y a une erreur en cours de route.
Et plutot que de faire 25 insert into ... qui doivent etre cohérents, la db met a dispo des fontions completes genre select ajout_eleve(...) qui va tout seul créer toutes les entrées nécessaire en une fois


C'est en gros la même séparation quand on fait une appli web avec un frontal en pur html/javascript qui parle a un backend derriere qui ne fait que du REST ou autre truc du genre (donc pas de django ou autre truc du genre) : le developper front n'a pas a écrire de requetes sql, le dev backend ne fait pas du tout de présentation de données, juste des exports json/yaml.
votre avatar
Ça c'est la théorie. En pratique, ça a tendance à donner des immondices. Proc stock non versionnées (enfin.. maproc, maproc_v2, maproc_test_nico, ma-proc...), du code dégueulasse ou spaghetti, et des différences entre environnements de dev preprod/uat prod, et une grande difficulté à savoir quelles proc stock sont encore utilisées.
Vu le niveau général de l'informatique (un métier de débutant, + une course effrénée à la rentabilité), miser sur cette approche c'est souvent une catastrophe.
votre avatar
Sauf que manipuler des données dans une grosse base de données relationnelle et faire de oa page web, c'est pas le même métier.
Les procédures stockées ont le mérite de permettre une abstraction de ce qui se trouve dans les bases, de sécuriser les accès et de garantir que le comportement sera strictement le même quel que soit le language utilié pour se connecter à la base.

J'ai déjà pratiqué un ERP où toutes les relations étaient faites dans le client lourd en java et il y avait des erreurs à la pelle. Il y avait également des tables codées en dur dans les listes déroulantes du code java. Une horreur.

Donc en pratique il faut s'en tenir àau métier et définir une frontière claire: ce sont les api en procédure stockée.
votre avatar
Alors, ce que tu décris, ça n'a rien à voir avec l'usage de procédures stockées. On retrouve la même chose dans du code "classique".

On peut tout à fait versionner les modifications faites sur le schéma d'une BDD (et de manière totalement automatisé via des triggers sur les DDL).

C'est tout à fait possible, et assez simplement, de savoir les procédures stockées encore utilisées ou non, à la condition que le code appelant (java, C#, PHP, ...) soit lui aussi nettoyé. Pour ma part, je fais ça en plusieurs temps :
- je récupère la liste des procédures stockées utilisées par le code
- je récupère la liste des procédures stockées utilisées par des procédures stockées
- je retire de la liste de l'ensemble des procédures stockées les 2 premières listes
- et je purge au fur et à mesure les procédures restantes (je les renomme dans un premier temps avant de les supprimer, comme ça, si un cas d'utilisation m'a échappé, je peux la rétablir en un rien de temps).

L'énorme avantage que je vois d'utiliser la BD pour le métier c'est :
- la cohérence des données, via les contraintes (FOREIGN KEY, CHECK, UNIQUE, ...)
- la rapidité d'exécution relativement à la même chose côté code (faire 1 appel à une procédure stockée est bien plus rapide et sûr que x appels encapsulés par une transaction côté code, avec les aller/retour entre le code et le SGBD)
- la facilité de faire des corrections en live

Mais après, c'est comme tout. Il faut une bonne discipline et de bonnes pratiques (mais ces problèmes là, on les retrouve indépendamment du langage choisi). La chose qui change vraiment si je puis dire, c'est qu'il faut passer d'un paradigme séquentiel à un paradigme ensembliste. Cela peut parfois être un peu déroutant au début.
votre avatar
Du coup, le code est complètement troué et il y a donc des failles qui peuvent être exploitées. Ça c'est une faute professionnelle grave.
Au contraire, je pense que l'application a fait l'objet d'audit de sécurité sérieux. J'ai donc du mal à comprendre l'argument.
votre avatar
Attention, c'est pas parce qu’il y a un audit de sécurité que les infos qui en ressortent sont prisent en compte
votre avatar
Dans ce cas, c'est une faute grave, compte-tenu de l'importance de l'application et des sommes qui ont été dépensées.
votre avatar
Les rapports, dans les ministères, il en va souvent comme de celui de la cour des comptes datant de 2022 et révélé il y a 1 an par le Canard Enchaîné sur des prix de péages des autoroutes concédées qui devraient baisser de 60% pour arrêter l'enculade, qui continue de caler le bureau de Bruno Le Maire!
Loin de baisser, ils en ont repris une couche au début de ce mois.

Mais voir le refus ici motivé "à bon droit" (sic!) par un code qui serait troué, là, bravo, c'est du grand art!

Ce n'est pas précisément de nature à améliorer les choses en prime, au contraire: C'est même une forme particulièrement étonnante, venant de la justice, de la "prime à la merde" qui sévit dans certaines organisations à la dérive.

A ce niveau, on est dans la vérole informatique franchissant la barrière d'espèce, parvenant à se transmettre au droit à travers la jurisprudence! Du grand art, cette décision, chapeau (Black or white? That is the question!) bas!!!
votre avatar
Ce n'est pas ce qui est dit. L'idée c'est "si on publie le code source, on ne maîtrise pas qui le lit. Si un péquin y trouve un faille, il pourra l'exploiter sans qu'on le sache et y remédie".
D'un autre côté, le mec qui aurait signé un document disant "on y va les gars", soit il comptait changer de vie et de pays ensuite, soit avait un cancer en phase terminale.
Dans une machine comme une grosse boite/une administration, personne ne va signer un papier qui ferait foi.
On y évite la responsabilité individuelle, pour se reposer sur la responsabilité collective.

D'un point de vue purement technique, en lisant le PDF, je me suis dit: ça sent le soft dans lequel tout a tous les droits.

D'un point de vue purement citoyen ayant des enfants dans parcoursup: merci de ne pas divulguer le code avant que le dernier n'ait eu son orientation - avant que des malins n'arrivent à faire buguer le système (qui de mon point de vue fonctionne correctement) de façon à ce que tout le monde soit inscrit en prépa à Stanislas, surtout s'ils n'en ont pas fait la demande.
votre avatar
Le code actuel n'étant pas publié, la sécurité y est peut-être d'or et déjà trouée, et des péquins l'utilisent peut-être déjà sans qu'on le sache. L'obfuscation n'a jamais été un argument de sécurité valable. Il suffit de voir le nombre de softs et OS en source fermées qui sont vérolés et détournés par lesdits péquins.
votre avatar
Il faudrait leur expliquer que les administrations utilisent déjà de nombreux logiciels open source.

« la sécurité par la confidentialité comme moyen de défense en profondeur »

:mdr:
Ça s'appelle en fait "sécurité par l'obscurité". Peut-être qu'il n'ose pas utiliser l'expression car la pratique n'a pas très bonne réputation.
votre avatar
C'est vrai que la "sécurité" par l'obscurité a tellement fait ses preuves...

C'est simple à mes yeux : TOUT code d'une institution publique doit être libre d'accès, sauf si cela met en jeu la sécurité nationale.
Ce devrait un être un droit garantit dès lors que le code est payé par nos impôts.
Cela permettrait à chacun d'avoir un droit de regard quant au bon fonctionnement de ceux-ci, donc de jouer son rôle de citoyen éclairé. En plus de garantir la fiabilité, la sécurité, etc... et renforcer la confiance envers nos institutions (elles ont des choses à cacher, elles ? Pour qui a la ref).
votre avatar
Je partage ton avis. Un autre argument pour la publication de code d'une institution publique est que c'est de l'argent public qui le finance: public code
votre avatar
Code national :)
votre avatar
+ 1 ! Tout à fait !
votre avatar
"décembre 2029"
:incline:
votre avatar
Oui mais.... 2029 ressenti !
votre avatar
z'avez pas compris c'est un hackaton déguisé :mrgreen:
votre avatar
La raison est sans-doute plus simple:
Quand tu ponds une usine à gaz inégalitaire et inéquitable, tu n'as pas envie qu'on vienne voir à quel point ton code est politisé...
votre avatar
Nous sachons.
votre avatar
Ah, la paresse de tout cataloguer "théorie du complot" ... après tout la macronnie est connue pour son souci de l'équité et de l'égalité... d'ailleurs la situation du fils d'Amélie Oudéa-Castéra montre bien que les dés ne sont pas du tout pipés :francais:

Dans l'absolu, j'aurais souvent tendance à privilégier l'incompétence plutôt que la malveillance pour ce genre de dossiers, mais il y a un niveau de "foirage" accompagné d'opacité soigneusement planifiée, le tout accompagné d'un discours et de postures politiques qui rendent la théorie du "juste de l'incompétence" peu crédible.
votre avatar
Ce qui est étrange c'est que médiapart à pas fait chier le pape du fait que ses gosses soient à l'école alsacienne.... :D
votre avatar
on rentre dans du débat politique, mais le problème n'est pas que sont fils soit en privé, c'est la justification (et toutes ses prise de paroles) qui font tâche ....

"ha vous avez fait sport aujourd'hui ? vous êtes en basquets ! " perso moi je traduit : "bonjour, j'ai aucune idée de ce que je fou là, j'ai absolument aucune idée de ce qu'il ce passe dans le monde réel et encore moins dans les école publiques "

tu me dira comme d'habitude, oui , sauf que là c'est flagrant et elle à enchainer les bourdes en 2 ou 3 jours sans broncher :)
votre avatar
Bah oui, elle est en droit de mettre ses gosses dans le privé...

Je vais prendre mon cas perso : je suis en soit contre le privé. Mais, quand je vois l'état de l'école publique de nos jours (à laquelle je suis pourtant fermement attaché), ce que m'en rapporte ma femme (qui bosse en primaire) entre les parents, le ministère etc, nous avons choisi au mieux pour nos enfants : une petite école privée de notre commune.

A un moment je suis pragmatique : je souhaite offrir le meilleur avenir possible à mes enfants. Même si ça me fait mal au coeur sur le principe de renier le publique de la sorte. Mais je joue simplement mon rôle de parent, qui a la chance de pouvoir faire ce choix et souhaite le mieux pour ses enfants.

Là où notre Ministre aurait pu faire un constat d'échec des gouvernements successifs et justifier son choix comme une majorité de parents dans la même situation le feraient, proposant ensuite des réformes attendues pour justement redorer l'image de l'école publique, elle n'a fait qu'enfoncer le clou par des justifications hasardeuses qui met juste en lumière l'entre-soit au sein de certaines sphères et une déconnexion totale de la réalité du terrain.

Et je critique tout autant une partie de nos politiques qui ont sauté sur l'occasion comme des requins, pour raconter tout et n'importe quoi. Au lieu de mettre en avant leurs propositions pour l'école publique et l'avenir de nos jeunes (parce que bordel, c'est devenu n'importe quoi !).
Sans parler de sociologues que j'ai pu entendre qui osent dire que l'on met nos enfants dans le privé pour de l'entre-soit seulement... bah non. Une (petite) partie sûrement. Une majorité, non. Parce que les enseignants y subissent aussi les mêmes aléas. Dans une moindre mesure certes. Mais ils subissent quand même. Mais pour s'en rendre compte faut sortir un peu la tête des simples chiffres et rapports pour aller constater la réalité du terrain.

P.S : je parle des écoles privés sous contrat avec l'Etat. Pour les autres, elles ne devraient même pas exister du tout à mes yeux.
votre avatar
nous sommes d'accord :)

Après moi j'ai passer du cp à la 3eme en privé (contrairement à mes ainés qui était en publique), et au final c'était pire ^^ (des profs ultra catho complétement cinglés avec des méthode archaïques , dénigrement de partout (ma prof principale (chimie) de 3ème qui sort à mon père que les enfants qui ne font pas la filière S ne serviront pas la france alors qu'il enseigne en segpa c'était épique !) .

Dans tous les cas chacun fait le choix qui lui semble le mieux pour ses enfants, tout comme notre ministre.

mais être ministre de l'éducation et dire de but en blanc "l'école publique c'est de la merde" comme ça de but en blanc c'est inadmissible ! bref je ne l'aime pas tout comme le reste du gouvernement ^^
votre avatar
Ah c'est sûr qu'il y a des écoles qui sont à l'image des pensionnats catholiques du XIXe siècle 😅

Mais globalement, hormis les quelques heures sur l'année "d'éveil à la foi" (qui dans la notre est abordé plus dans un sens culturel que vraiment religieux) qui me font sourire, on a rien à redire de la notre perso. Rien n'est imposé. Ça reste, je pense, tout de même une minorité d'écoles dans ces cas-là. Mais ce sont celles qui font le plus parler.
Et celles-ci devraient clairement fermer. De part l'entre-soit qu'elles installent volontairement. Et de par le prosélytisme qui est hors cadre du contrat avec l'Etat. Il manque encore trop de contrôles et de fermeté de la part de l'Etat sur ces points là...
votre avatar
d'ailleurs la situation du fils d'Amélie Oudéa-Castéra montre bien que les dés ne sont pas du tout pipés
Juste sur ce point là.

Le truc de faire un seul choix pour être sûr d'aller où tu veux, j'y avais pensé tout seul quand j'ai entendu parler de Parcoursup. Et il suffit juste d'être sûr que l'établissement en question est d'accord pour te prendre : 0 risque. Et c'est le seul moyen d'être sûr de où tu vas aller.
Il n'y a pas besoin de lire le code du logiciel pour trouver cette solution, juste d'avoir quelques neurones et de savoir s'en servir.
votre avatar
Si l'établissement est d'accord pour te prendre, mettre d'autres vœux ne t'empêcherait pas d'y aller normalement…
votre avatar
Le truc de faire un seul choix pour être sûr d'aller où tu veux, j'y avais pensé tout seul
Tu n'es pas obligé d'accepter le premier "oui" dans parcoursup, tu as deux étapes: le refus (une fois que tu as des oui, tu peux refuser des choix que tu as mis en "filet"), puis plus tard ton "oui définitif" annule tout le reste.

Exemple vécu:
* Plein de choix en prépa
* Au 1er jour, des choix "secondaires" t'acceptent -> tu peux dire non aux autres choix secondaires
* 3ème semaine, le choix voulu accepte, mais pas en internat (ouille, c'est dur quand même) -> non à tous les choix secondaires
* 5 ème semaine, une place se libère sur le choix voulu + internat -> acceptation définitive et c'est fini.

Le système parcoursup, je le trouve vraiment bien fait. Et les profs accompagnent bien: on fait ses voeux, ses sous-voeux, on ajoute un ou deux voeux de secours ... Dans 99% des cas d'après les profs, les élèves ont ce qu'ils veulent.

Après, les indécrotables narcissique qui croient que le monde les attends depuis 4 milliards d'années, ils posent les mêmes problèmes que sans parcoursup: aucun système n'est à la mesure de leur égo.
votre avatar
Je trouve que parcours sup fait le taf. Le problème c'est que ça arrive tôt et si les jeunes ne sont pas encadrés, ils font n'importe quoi comme voeux.
Je trouve même que par rapport au système d'avant (totalement obscur, soumis à manipulation et favoritisme comme jamais), le système est meilleur, plus réactif, et permet d'ouvrir les horizons (avant on connaissait les écoles de sa ville point barre - maintenant on peut découvrir d'autres choses).
En plus, quand on fait les voeux on sait exactement comment sont prises en compte les note - c'est carrément infiniment plus transparent qu'avant (balancez les bulletins par la poste, vous ne saurez jamais pourquoi vous êtres pris ou pas).
Le hic? Les profs des enfants ont vue sur tous leurs voeux pour donner un avis sur CHACUN (d'où la petite combine de Stanislas)
votre avatar
Complètement claqué au sol comme défense, pour employer un langage de djeunz ... Le boomer que je suis emploierait des mots beaucoup moins imagés et plus direct, mais ça pourrait déplaire aux autorités ...
votre avatar
Ce n'est pas le sujet là, mais comment on publie le code source d'une appli nocode?

[Maj] Parcoursup : six ans après, la promesse d’ouvrir le code n’est pas tenue, Ouvre-boîte « pas surprise »

  • 99 % du code non publié en 2020 selon la Cour des comptes

  • Relance de la procédure par Ouvre-boîte

  • Des vulnérabilités qui porteraient « atteinte à la sécurité des systèmes d’information de l’administration »

  • Obscurité et confidentialité, une nuance peu visible

Fermer